добавить значок файла в сетку данных в flex - PullRequest
0 голосов
/ 17 ноября 2009

Я пытаюсь поместить некоторые объекты 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 Ответ

1 голос
/ 17 ноября 2009

Источником изображения должен быть путь к файлу и сейчас вы отправляете ему весь объект данных. Предполагая, что data.path содержит полный путь, включая имя файла, который вы наберете:

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