Vaadin Grid 行显示索引
Vaadin Grid row display index
用例:
- 网格正在显示项目列表
- 用户可以点击一个按钮来编辑所选项目
- 当用户单击“编辑”时,会显示一个用于编辑项目的对话框
- 用户希望对话框中有“编辑下一个”和“编辑上一个”按钮以自动保存当前项目并前进到网格中的下一个或上一个项目
扭曲:用户可以使用标准的基于列的排序对网格进行排序,这显然完全在客户端实现。
问题:Grid.getRowIndex() returns 未排序 列表中的索引返回的网格中的项目的“索引”。如果用户已对网格进行排序,则从此索引实现 next/previous 函数可能会导致选择看起来随机跳转。
问题:有没有办法获取选中项的显示行索引?反过来,有没有办法在指定的 显示行索引 处获取项目?
或者,作为替代方案,Grid 是否有办法将选定的行索引向前或向后移动给定的数量 in display order?
And conversely, is there a way to get the item at a specified display row index?
在 Vaadin 17 和更新版本中添加了简单 API。
dataView = grid.setItems(..);
item = dataView.getItem(index);
从组件可用的数据中获取给定索引处的项目。数据的过滤和排序方式与组件中的方式相同。
在 Vaadin 14 中,它有点复杂。有代码genr
grid.getDataProvider().fetch(createQuery());
您可以在这里找到非常合适的代码示例createQuery()
,只需将 0 替换为索引,将最大整数替换为 1。
用例:
- 网格正在显示项目列表
- 用户可以点击一个按钮来编辑所选项目
- 当用户单击“编辑”时,会显示一个用于编辑项目的对话框
- 用户希望对话框中有“编辑下一个”和“编辑上一个”按钮以自动保存当前项目并前进到网格中的下一个或上一个项目
扭曲:用户可以使用标准的基于列的排序对网格进行排序,这显然完全在客户端实现。
问题:Grid.getRowIndex() returns 未排序 列表中的索引返回的网格中的项目的“索引”。如果用户已对网格进行排序,则从此索引实现 next/previous 函数可能会导致选择看起来随机跳转。
问题:有没有办法获取选中项的显示行索引?反过来,有没有办法在指定的 显示行索引 处获取项目? 或者,作为替代方案,Grid 是否有办法将选定的行索引向前或向后移动给定的数量 in display order?
And conversely, is there a way to get the item at a specified display row index?
在 Vaadin 17 和更新版本中添加了简单 API。
dataView = grid.setItems(..);
item = dataView.getItem(index);
从组件可用的数据中获取给定索引处的项目。数据的过滤和排序方式与组件中的方式相同。
在 Vaadin 14 中,它有点复杂。有代码genr
grid.getDataProvider().fetch(createQuery());
您可以在这里找到非常合适的代码示例createQuery()
,只需将 0 替换为索引,将最大整数替换为 1。