2009-11-17 5 views
0

J'essaie de placer des objets File dans un DataGrid, mais je n'arrive pas à trouver un moyen d'afficher le fichier File.icon.Ajout d'une icône de fichier à datagrid dans flex

Jusqu'à présent, j'ai ceci: (ms [x] est un fichier)

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

et

<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> 

nom de fichier et le chemin sont affichés correctement, je ne peux pas obtenir l'icône du fichier montrer.

Comment puis-je faire cela?

Répondre

1

La source de l'image doit être le chemin d'accès au fichier et votre envoi de l'objet de données entier. En supposant data.path contient le chemin complet, y compris le nom du fichier que vous tapez:

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

des thats la chose ... File.icon n'est pas un nom de fichier, son objet d'icônes contenant .bitmaps tableau. Ce ne sont pas de vrais fichiers sur le système de fichiers, donc j'ai besoin d'afficher le bitmap, pas un fichier image réel. – jab11