1

我有一个非常简单的带有 2 列的 DataGrid,如下所示:

<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。
  • 或者启用该特定行的版本而不单击它。

这是我一直无法回答的问题

帮助将不胜感激。

4

1 回答 1

2

您可以使用 grid.selectedIndex 属性获取选定的行。一个想法给你的问题:

  • 为数据网格中的项目添加“可编辑”属性,默认情况下为 false
  • 点击按钮时,设置 grid.selectedItem.editable = true;
  • 将网格的项目渲染器更改为新的,如果项目可编辑,则显示 TextInput 字段,如果不可编辑,则显示纯标签

您可以像这样在运行时更改项目渲染器:

grid.itemRenderer = new ClassFactory(com.myapp.renderers.MyGridItemRenderer);
于 2010-01-14T12:54:19.357 回答