Flex2 發現之旅:動態建立DataGrid列

梧桐雨—168發表於2008-03-05
Flex2中,DataGrid如果我們沒有指定columns熟悉的話,DataGrid會自動根據dataProvider的各行資料的屬性名隱式自動地建立列,例如如下程式碼:

  layout="vertical" creationComplete="loadDgView()">
 
    
   
     
       
         
         
       

     

   
    
 

 

檢視示例

當我們選擇works時,DataGrid自動根據dataProvider:works陣列中的資料生成三列的DataGridColumn;而選擇departments時,又相應的變更為兩列,非常的方便。
DataGrid元件的這一功能是Flex1.5中所不具有的,是Flex2中的一大改進。
但是如果我們DataGrid的表頭與列明不一致的時候,或者我們並不需要顯示每行所有的資料,這時候DataGrid的隱式自動建立列的方法就不再適用了,這時候,我們就需要自己手動來建立列。
DataGrid使用columns屬性來標識列資訊,column屬性是一個mx.controls.gridclasses.DataGridColumn陣列,所以要動態建立表格列,只需要建立一個DataGridColumn陣列,然後將其賦值給DataGrid的columns屬性就可以了。前面示例的程式碼,我們改進如下:


  layout="vertical" creationComplete="loadDgView()">
 
    
   
     
       
         
         
       

     

   
    
 

 

檢視示例
紅色部分為增加的程式碼,相對之前的程式碼,我們增加了兩個陣列:worksColumns和departmentsColumns,分別存放相應資料的DataGridColumn屬性,然後在loadDgView函式中,根據相應的Column陣列建立相應的DataGridColumn陣列,最後將其賦值給view_db.columns。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13270562/viewspace-200405/,如需轉載,請註明出處,否則將追究法律責任。

相關文章