【发布时间】:2013-02-04 06:07:47
【问题描述】:
有没有办法让 spark datagrid 单元格中的文本可选?我不想使单元格可编辑。
我已尝试扩展 DefaultGridItemRenderer 并在其上设置 selectable = true,但这无济于事。
我使用的是 Flex sdk 4.9
【问题讨论】:
标签: actionscript-3 text datagrid flex4 flex-spark
有没有办法让 spark datagrid 单元格中的文本可选?我不想使单元格可编辑。
我已尝试扩展 DefaultGridItemRenderer 并在其上设置 selectable = true,但这无济于事。
我使用的是 Flex sdk 4.9
【问题讨论】:
标签: actionscript-3 text datagrid flex4 flex-spark
DefaultGridItemRenderer 使用 FTETextField 显示文本,但 FTETextField 中的文本不能设置为可选。
改为使用 UITextFieldGridItemRenderer;这确实允许您设置 selectable=true。
最简单的方法是创建 UITextFieldGridItemRenderer 的子类,并在其构造函数中添加:
selectable = true;
然后将新类设置为数据网格的渲染器。
【讨论】:
如果您不想创建自定义类只是为了让您的文本可选择,那么使用 ClassFactory 也可以。在 actionscript 函数中,使用 ClassFactory 创建 UITextFieldGridItemRenderer 的实例,通过属性设置“可选择”,并返回渲染器实例。要应用项目渲染器,您需要将该函数绑定到列或网格的“itemRenderer”属性。
这是一个简单的例子:
public function myRendererFactory():ClassFactory
{
var myRenderer:ClassFactory=new ClassFactory(UITextFieldGridItemRenderer);
myRenderer.properties={selectable: true};
return myRenderer;
}
...
<s:GridColumn itemRenderer="{myRendererFactory()}"/>
...
【讨论】: