2013-02-19 199 views
0

有没有办法让火花datagrid单元格内的文本可选?我不想让这些单元格可编辑。火花datagrid选择

我试过扩展DefaultGridItemRenderer并设置selectable = true,但是它什么都不做。

我使用的Flex SDK 4.9

回答

2

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

改为使用UITextFieldGridItemRenderer;这可以让你设置selectable = true。

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

selectable = true; 

然后设置新的类作为渲染器数据网格。

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()}"/> 
...