Ajouter une colonne dans un datagrid / Add columns to datagrid

Publié le 21 décembre 2007 par Stef1

Un petit bout de code pour montrer comment ajouter une colonne dynamiquement sur un composant datagrid

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
  3.                 <mx:Script>
  4.                 <![CDATA[
  5.                         import mx.controls.dataGridClasses.DataGridColumn;
  6.                         private function init():void{
  7.                                 trace (’init’);
  8.                         }
  9.                         private function addCol():void{
  10.                                 var tbCol:Array = myData.columns;
  11.                                 var newCol:DataGridColumn = new DataGridColumn();
  12.                                 newCol.headerText = "pipo";
  13.                                 newCol.dataField = "pipo";
  14.                                 newCol.width = 60;
  15.                                 newCol.visible = true;
  16.                myData.width = myData.width + newCol.width;  
  17.                                 tbCol.push(newCol);
  18.                                 myData.columns = tbCol;
  19.                                                
  20.                         }
  21.                 ]]>
  22.         </mx:Script>
  23.         <mx:DataGrid x="75" y="81" id="myData">
  24.                 <mx:columns>
  25.                         <mx:DataGridColumn headerText="Column 1" dataField="col1"/>
  26.                         <mx:DataGridColumn headerText="Column 2" dataField="col2"/>
  27.                         <mx:DataGridColumn headerText="Column 3" dataField="col3"/>
  28.                 </mx:columns>
  29.         </mx:DataGrid>
  30.         <mx:Button x="84" y="231" label="Button" click="addCol()"/>
  31. </mx:WindowedApplication>