2011-09-22 98 views
1

我想製作一個數據網格,它會根據某些條件動態地向它添加列。 現在,我可以添加列,但是我希望新添加的列有使用itemRenderer的按鈕。在Flex中動態添加列到datagrid

雖然我無法做到這一點。獲得第1行

這個錯誤描述資源路徑位置1067型:爲mx.controls的 值隱式強制:按鈕無關 類型mx.core:IFactory的。 Demo.mxml/Demo/src line 14 Flex問題

任何人都可以幫忙嗎?

這裏有一個代碼片段:

private function addDataGridColumn(dataField:String):void { 
      var dgc:DataGridColumn = new DataGridColumn(); 
      dgc.itemRenderer = button1; // Line 1 
      var cols:Array = dataGrid.columns; 
      cols.push(dgc); 
      dataGrid.columns = cols; 
     } 
+0

可以顯示button1的聲明和初始化嗎? –

回答

4

itemRendereritemEditor性能IFactory類型。當您在MXML中設置這些屬性時,MXML編譯器會自動將屬性值轉換爲ClassFactory類型,該類型實現IFactory接口。

當您設置在ActionScript這些屬性,必須明確的屬性值轉換爲ClassFactory

你可能會找這個,添加按鈕,新添加的列的所有行。

private function addDataGridColumn(dataField:String):void { 
       var dgc:DataGridColumn = new DataGridColumn(); 
       dgc.itemRenderer = new ClassFactory(Button); 
       var cols:Array = dataGrid.columns; 
       cols.push(dgc); 
       dataGrid.columns = cols; 
      } 
+0

我打算髮表相同的答案,所以是的,那就是如何去做! – Exort