2010-02-06 45 views
0

我似乎無法得到這個權利,我讀的一切都有點像我的問題,但不完全。這看起來很容易。我想要做的就是使用函數設置數據字段的值。我調用一個xml文件,並可以從該xml設置數據字段的值(在這種情況下,它是一個類別id作爲數字)。但是,我想通過將它與一個不同的數據數組關聯來將該數字轉換爲一個名稱。settingflex數據字段與功能

所以基本上我只是需要將catId傳遞到數據字段中的函數,但無法使其工作。

 <mx:DataGridColumn color="0x00101F" textAlign="center" editable="true" id="categoryField" headerText="CATEGORY" dataField="getCategoryName(@catId)" editorDataField="text"></mx:DataGridColumn> 

查看此DataGrid列的dataField =「getCategoryName(@catId)」部分。

什麼是正確的語法來做到這一點?


OK,一個問題,我該如何訪問我已經從itemRenderer的主應用程序中定義的變量。我嘗試了外部文檔,但這似乎不起作用。

UPATE: 沒關係,必須使用parentDocument ..感謝您的幫助。

UPDATE 2: 好的,再來一次。外部文檔確實有效,只需要記住要創建任何想要訪問Public的變量。

+1

你的意思的labelField? (http://livedocs.adobe.com/flex/3/langref/mx/controls/listClasses/ListBase.html#labelFunction) – 2010-02-06 23:16:39

+0

我已將您的(年滿的)未註冊帳戶合併到您的註冊帳戶中。 – 2011-08-22 18:53:42

回答

1

最快,最簡單的方法是使用聯項目渲染:

<mx:DataGridColumn color="0x00101F" textAlign="center" editable="true" id="categoryField" headerText="CATEGORY" editorDataField="text"> 
    <mx:itemRenderer> 
     <mx:Component> 
      <mx:Label text="{foo(data)}" /> 
      <mx:Script> 
      <![CDATA[ 
       private function foo(data:Object):String 
       { 
        // do something with [email protected] and return it.. 
       } 
      ]]> 
      </mx:Script> 
     </mx:Component> 
    </mx:itemRenderer> 
</mx:DataGridColumn>