2009-12-11 52 views
0

以前,我在Flex Adob​​e論壇上發佈了關於此問題的討論,但仍不明白需要做什麼。所以,我會在stackoverflow上再次嘗試我的運氣。顯示數據網格中兩個對象的屬性

我正在使用數據網格上的Flash Builder 4中的拖放數據綁定功能。但是,我需要顯示的數據需要從另一個對象進行查詢。

<mx:DataGrid id="dataGrid2" dataProvider="{getMajorDetailsResult.lastResult}"> <mx:columns> <mx:DataGridColumn headerText="Category Name" /> <mx:DataGridColumn headerText="Require Credits" dataField="requireCredits" resizable="false" width="40"/> </mx:columns> </mx:DataGrid>

在該數據網格我與對象MACL具有

  • ID
  • CAT_ID
  • requireCredits

然而結合它,我想顯示類別名稱在第一列但categoryName在另一個對象(類別)

  • CAT_ID
  • 類別名稱

在這種情況下我該怎麼辦?

我這樣做,以便將來如果類別名稱需要重命名。我可以重命名類別表中的一個。

有人告訴我使用數據模型。我想我應該嘗試將從callresponder檢索到的對象轉換爲我自定義的類對象,然後將此類設置爲我的datagrid的dataprovider?這是應該做什麼

示例代碼是高度讚賞。

回答

2

您可以使用的DataGridColumn在其中您分配決定怎麼回事列中顯示的功能的的labelFunction屬性:

private function labelFunction(item:Object, column:DataGridColumn):String 
{ 
    //search for the categoryName 
    for (var i:int = 0; i < categories.length; i++) 
    { 
     var category:Category = categories[i]; 
     if (category.cat_id == item.cat_id) 
     { 
      return category.categoryName; 
     } 
    } 
    // in case it was not fault return a default value 
    return ""; 
} 

HTH 格斯

+0

這應該做它。非常感謝你Gus :) – Pii 2009-12-11 16:35:04

相關問題