有效的东西
<s:GridColumn dataField="country.code" headerText="Country Code"/>
没有
的东西<mx:AdvancedDataGridColumn dataField="country.code" headerText="Country Code" width="50" />
我们有更多像 country.code 这样的大孩子属性,我们必须使用AdvancedDataGrid。深入研究GridColumn的函数集dataField(value:String),只有Normal Grid支持点“。”。
我们不想使用labelFunction,因为我们有50多个这样的列...如果有扩展高级网格列以支持点的方法?
你能建议一个解决方案吗?谢谢
答案 0 :(得分:2)
AdvancedDataGrid是一个mx组件,因此它比Spark DataGrid更旧。因此,Spark DataGrid只会带来新功能(与旧的mx DataGrid相比)。
如果您想在ADG中使用此功能,您有两种方法:
答案 1 :(得分:1)
我们实际上已将此支持添加到Extended version of AdvancedDataGrid。解决方案非常简单,只需要扩展AdvancedDataGridColumn(还有一些其他需要担心的事情,比如排序,对于我们过滤等等,但是这个想法就像下面这样:)我们添加了一堆东西来支持内置格式等,所以下面的代码只是这个特定问题的伪代码,而不是代码库中的实际代码。
public class ExtendedAdvancedDataGridColumn{
public var enableNestedPropertySupport:Boolean=true;
public override function itemToLabel(data:Object, withFormatting:Boolean=true):String
{
if(enableNestedPropertySupport){
return UIUtils.resolveExpression(data,dataField);
}
else{
return super.itemToLabel(data, withFormatting);
}
}
}