有没有办法让spark数据网格单元格中的文本可选?我不想让细胞可编辑。
我已尝试扩展DefaultGridItemRenderer并在其上设置selectable = true,但这没有任何作用。
我正在使用Flex sdk 4.9
答案 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()}"/>
...