我有网格的单元格(行,列索引)的坐标。如何检索单元格的值?
我不想检索整行,只需要检索一个带有(x,y)坐标的单元格。
我正在使用gwt 2.6.1
,gxt 3.x
答案 0 :(得分:1)
最简单的方法是首先获取行,然后从中获取单元格。 Grid<T>
不是电子表格 - 它不仅仅是一个单元格包,或行和列,而是一组固定的列,描述了如何阅读每一行。
查找行(类型为T
)非常简单 - 使用行索引,向ListStore<T>
询问具有该索引的项目。
ListStore<MyRowData> store = ...
MyRowData row = store.get(rowIndex);
然后,我们需要与您想要的列匹配的ColumnConfig<T, ?>
。这是事情变得有趣的地方 - ?
是什么?您的特定用例可能意味着所有列都是相同的类型,但情况并非总是如此,因此网格不会假设它。让我们说在我们的情况下虽然我们知道索引4的列包含String
值 - 然后我们可以将任何ColumnConfig<T, ?>
转换为ColumnConfig<T, String>
。
Grid<MyRowData> grid = ...
ColumnModel<MyRowData> columnModel = grid.getColumnModel();
ColumnConfig<MyRowData, String> columnFour = columnModel.getColumn(columnIndex);
现在我们有了行,我们有了列 - 这些列的交集是你所追求的特定单元格。要读出该单元格的值,我们将列中的ValueProvider
(当您构建列时,将其作为参数提供),并使用它来读取值在该列中,对于行模型。
MyRowData row = store.get(rowIndex);
//...
ColumnConfig<MyRowData, String> columnFour = columnModel.getColumn(columnIndex);
String cellValue = columnFour.getValueProvider().getValue(row);