добавить значок файла в сетку данных в гибком

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

имя файла и путь отображаются правильно, я просто не могу отобразить значок файла.

Как я могу это сделать ?


person jab11    schedule 17.11.2009    source источник


Ответы (1)


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

 <mx:Image width="32" height="32" source="{data.path}">
person greggreg    schedule 17.11.2009
comment
вот в чем дело ... File.icon - это не имя файла, это объект Icon, содержащий массив .bitmaps. это не настоящие файлы в файловой системе, поэтому мне нужно отображать растровое изображение, а не фактический файл изображения. - person jab11; 18.11.2009