我有一个非常简单的 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);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top