DataGrid - 单击按钮时编辑选定的行
-
20-09-2019 - |
题
我有一个非常简单的 DataGrid,有 2 列,如下所示:
<mx:DataGrid id="grid" >
<mx:columns>
<mx:DataGridColumn dataField="name" headerText="Name"/>
<mx:DataGridColumn dataField="date" headerText="Date"/>
</mx:columns>
</mx:DataGrid>
我想做的是当用户单击按钮时激活所选行的版本。到目前为止,我还找不到任何如何执行此操作的示例。我已经尝试了 6 或 7 种不同的方法,但没有效果。有谁知道如何做到这一点?
如何获取 DataGrid 的选定行(不是 selectedItem)以及如何:
- 仅更改该行的 ItemRenderEditor 或 ItemRenderer。
- 或者启用该特定行的版本而不单击它。
这是我一直无法回答的问题
非常感谢您的帮助。
解决方案
您可以使用 grid.selectedIndex 属性获取选定的行。对你的问题有一个想法:
- 向数据网格中的项目添加“可编辑”属性,默认情况下为 false
- 点击按钮时,设置grid.selectedItem.editable = true;
- 将网格的项目渲染器更改为新的,如果项目可编辑,则显示 TextInput 字段,如果不可编辑,则仅显示普通标签
您可以在运行时更改项目渲染器,如下所示:
grid.itemRenderer = new ClassFactory(com.myapp.renderers.MyGridItemRenderer);
不隶属于 StackOverflow