在flex中向datagrid添加文件图标

时间:2009-11-17 17:34:41

标签: flex datagrid bitmap

我正在尝试将一些File对象放入DataGrid,但我找不到在那里显示File.icon的方法。

到目前为止,我有这个:(ms [x]是一个文件)

listData.addItem({
    filename:ms[x].nativePath.replace(/.*\\/,""),
    path:ms[x].nativePath.replace(/\\[^\\]*$/,"\\"),
    icon:ms[x].icon.bitmaps[0]
});

<mx:DataGrid x="358" y="0" width="429" height="378" dataProvider="{listData}">
    <mx:columns>
        <mx:DataGridColumn headerText="Column 1" dataField="filename"/>
        <mx:DataGridColumn headerText="Column 2" dataField="icon">
            <mx:itemRenderer>
                <fx:Component>
                    <mx:Image width="32" height="32" source="{data}">
                    </mx:Image>
                </fx:Component>
            </mx:itemRenderer>
            </mx:DataGridColumn>
        <mx:DataGridColumn headerText="Column 3" dataField="path"/>
    </mx:columns>
</mx:DataGrid>

文件名和路径显示正确,我只是无法显示文件图标。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

图像的来源需要是文件的路径,现在您需要将整个数据对象发送给它。假设data.path包含完整路径,包括您输入的文件名:

 <mx:Image width="32" height="32" source="{data.path}">