以编程方式获取或设置Datagrid中的单元格值

4
在Flex 4中使用预填充的数据网格,我应该如何以编程方式获取或设置特定值,例如,我不会使用selectedItems等。
例如,我如何引用第4行第6列单元格的值。
感谢您提前的帮助。
Craig
2个回答

8

将DataGrid的dataProvider转换为ListCollectionView,并使用其getItemAt方法。

ListCollectionView(dataGrid.dataProvider).getItemAt(requiredRow).appropriateProperty = newValue;

更新:如果列名是动态的,您可以使用类似以下内容获取它:
var data_field:String = dgViewPreview.columns[6].dataField; //for 6th column
ListCollectionView(dataGrid.dataProvider).getItemAt(requiredRow)[data_field] = newValue;

@Craig 这取决于您在特定列中显示的值 - 这就是我使用术语 appropriateProperty 的原因 - 所需 DataGridColumn 的 dataField 是什么? - Amarghosh
@Craig,您能发布相关代码吗——包括DataGrid和所需列的代码? - Amarghosh
所以想象一下,如果用户更改了第6行第4列的单元格,我有可能会更新与第1行列4、第2行列4对应的单元格。 - Craig Mc
@Craig 它的工作方式是这样的:将有一个数据提供程序,其中包含许多对象。每个对象都将具有一组属性。这些属性显示在列中 - 列和属性之间的映射是使用相应DataGridColumn的dataField属性完成的。因此,如果您知道在第6列中显示的数据的特定属性的名称,则可以更新该属性以更新该列。 - Amarghosh
干得好,Amarghosh!这帮助了我很多。 - D3vtr0n
显示剩余12条评论

0

有两种访问方式,基于网格列DataField映射到对象属性或LabelFunction设置为网格列

我在这里粘贴了带有示例的场景 http://pastebin.com/iwrnHD1c


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接