DataGrid - 单击按钮时编辑选定的行

时间:2010-01-13 19:29:38

标签: flex actionscript datagrid itemrenderer itemeditor

我有一个非常简单的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的选定行(NOT selectedItem)以及如何:

  • 只需该行即可更改ItemRenderEditor或ItemRenderer。
  • 或启用该特定行的版本而不单击它。

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

非常感谢帮助。

1 个答案:

答案 0 :(得分:2)

您可以使用grid.selectedIndex属性获取所选行。有人想到你的问题:

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

您可以在运行时更改项呈示器,如下所示:

grid.itemRenderer = new ClassFactory(com.myapp.renderers.MyGridItemRenderer);