如何在Flex中使用行中的不同值类型创建DataGrid?

时间:2014-11-26 15:24:08

标签: flex datagrid mxml flex-spark

我想像这样创建DataGrid:

{Label} {TextInput}

{Label} {ComboBox}

我可以使用“ComboBoxGridItemEditor”等,但问题是ItemEditors和渲染器apllies到整列。但是我需要在不同的行中使用不同类型的控件,但是在相同的列中。

为了更好地理解我从VS做了截图,例如:

http://i.stack.imgur.com/ZaAAg.jpg

我想通过MXML创建类似的属性表,因为我希望以后能够更轻松地编辑此表。

有人有类似的任务或任何想法如何做到这一点? 感谢。

1 个答案:

答案 0 :(得分:0)

您可以定义工厂函数以根据给定行的数据创建itemRenderer。看看itemRendererFunction

来自here的示例:

private function selectRenderer(item:Object):ClassFactory {
    var classFactory:ClassFactory;
        if(item is IVisualElement){ 
            // If the item is a Flex component, use DefaultComplexItemRenderer.
                classFactory = new ClassFactory(DefaultComplexItemRenderer);
        }
        else if (item is Object){
                // If the item is an Object, use MySimpleItemRendererFunction.
                classFactory = new ClassFactory(MySimpleItemRendererEmployee);
        } 
        return classFactory;
}