Flex Spark DataGrid:GridItemEditor中的ReferenceError#1069

时间:2012-03-23 23:19:06

标签: datagrid flex4 flex-spark itemeditor

我正在为spark DataGrid编写通用<s:GridItemEditor>代码,以根据属性类型动态创建适用于版本的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?

非常感谢。

1 个答案:

答案 0 :(得分:0)

这就是我解决的问题:更有意义的是将对象类型属性赋给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();
}

也许这会对别人有所帮助。 感谢。