之前我在Flex Adobe论坛上发布了关于此事的讨论,但仍然不明白需要做什么。所以,我会在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绑定但是,我想在第一列显示CategoryName,但categoryName在另一个对象(类别)中
在这种情况下,我该怎么办?
我这样做是为了在将来分类名称需要重命名。我可以重命名类别表中的那个。
有人告诉我使用数据模型。我想我应该尝试将从callresponder检索到的对象转换为我自己定义的类对象,然后将此类设置为我的datagrid的dataprovider?那应该做什么
示例代码非常受欢迎。
答案 0 :(得分: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 格斯