spark datagrid可选

时间:2013-02-19 14:11:03

标签: actionscript-3 text datagrid flex4 flex-spark

有没有办法让spark数据网格单元格中的文本可选?我不想让细胞可编辑。

我已尝试扩展DefaultGridItemRenderer并在其上设置selectable = true,但这没有任何作用。

我正在使用Flex sdk 4.9

2 个答案:

答案 0 :(得分:2)

DefaultGridItemRenderer使用FTETextField显示文本,但FTETextField中的文本不能设置为可选。

而是使用UITextFieldGridItemRenderer;这允许你设置selectable = true。

最简单的方法是创建UITextFieldGridItemRenderer的子类,并在其构造函数中添加:

selectable = true;

然后将新类设置为datagrid的渲染器。

答案 1 :(得分:1)

如果您不想创建自定义类只是为了使文本可选,那么使用ClassFactory也可以。在actionscript函数中,使用ClassFactory创建UITextFieldGridItemRenderer的实例,通过属性设置'selectable',并返回渲染器实例。要应用项呈示器,您可以将该函数绑定到列或网格的'itemRenderer'属性。

这是一个简单的例子:

public function myRendererFactory():ClassFactory
    {
        var myRenderer:ClassFactory=new ClassFactory(UITextFieldGridItemRenderer);
        myRenderer.properties={selectable: true};
        return myRenderer;
    }
...
<s:GridColumn itemRenderer="{myRendererFactory()}"/>
...