0

我正在<s:GridItemEditor>为 spark DataGrid 编写一个通用代码,以根据属性类型动态创建一个适当的 UIComponent 进行编辑。

链接到 GridColumn 的一些属性很复杂,例如:

var gridColumn:GridColumn = new GridColumn("Category.Description");

我遇到了这个复杂属性的错误:

ReferenceError: Error #1069: Property Category.Description not found on GOClases.Person and there is no default value.....

在 spark.components.gridClasses::GridItemEditor/set data()[E:\dev\hero_private\frameworks\projects\spark\src\spark\components\gridClasses\GridItemEditor.as:176]**

这是发生此错误的特定功能:

public function set data(value:Object):void
{
    _data = value;

    if (_data && column.dataField)
    {
        this.value = _data[column.dataField];
    }
}

是否可以通过正确重新定义 set data() 函数来避免此错误?我该如何解决这个问题?

是否可以在 spark DataGrid 中将不同的属性定义为 label 和 itemEditor?

非常感谢。

4

1 回答 1

0

这就是我解决的方法:将 Object 类型属性分配给 GridColumn 的 dataField 更有意义var gridColumn:GridColumn = new GridColumn("Category");并使用 labelFunction 动态评估复杂的属性,我在这里使用 r1.deval.D 库来解决它:

private function funcionEtiqueta(item:Object, column:GridColumn):String
{
     D.eval(complexProperty,item).toString();
}

也许这会帮助别人。谢谢。

于 2012-03-26T20:47:11.143 回答