2011-01-11 83 views
0

這裏是的情況下(Flex的3):
我有,Flex 3 - 動態列DataGrid,ItemRenderer,TextInput,如何設置屬性「文本」?

  • 數據網格的列的動態數;
  • 每個單元格作爲ItemRender;
  • 每個ItemRenderer作爲TextInput;

如果列數保持相等,則item渲染中textInput的屬性文本將爲<mx:textInput id="ti" text="{data.ColumName}"/>
但我有一個動態數字的列名!
因此我不能接觸text="{data."diferent columName"}"
任何幫助?

問候

回答

0

我發現訪問diferent列名,以接取的數據提供程序的正確方法!
The Itemrender mxml:

<mx:TextInput width="100%" height="100%" click="cellClickHandler(event)" xmlns:mx="http://www.adobe.com/2006/mxml"> 
<mx:Script> 
     <![CDATA[ 
      import mx.controls.dataGridClasses.DataGridListData; 
      import mx.controls.listClasses.ListData; 

      override public function set data(value:Object):void 
      { 
       if(value != null) 
       { 
        super.data = value; 
        var dglistData:DataGridListData = listData as DataGridListData; 
        this.text = value[dglistData.dataField]; 
       } 
      } 

      public function cellClickHandler(e:Event) 
      { 

      } 
    ]]> 
    </mx:Script> 
</mx:TextInput>