java - Vaadin:在 Vaadin 中更新网格后如何关注第一行?

标签 java grid focus vaadin

我正在构建一个 Vaadin 应用程序,其中包含一个网格表。应用程序每分钟重新加载并更新表。 SelectionMode.NONEv-grid-row-focused被使用。不幸的是,每次数据刷新后,网格表中第一行的焦点就会消失。经过一些分析,我发现每次重新加载表格后,网格都会返回 v-grid-cell-focused - 模式,并且仅在按下 arraydown 按钮向下滚动行焦点后,它才会更改为 v-grid-row-focused -模式。有没有办法完全禁用v-grid-cell-focused -模式?

最佳答案

要获取表或网格的第一个 itemId(不是 Item),您必须通过 Container.firstItemId

Tables 有一个评估器方法,但 Grid 没有

Morfic提出的解决方案并不总是有效,因为当您使用不带参数(索引和分层)的 addItem() 时,容器自动生成的整数是增量的,如果您清理/删除所有/某些项目,索引将持续增长(不会重置为 0)并且索引从 1 开始,而不是 0(如果您检查源代码),或者如果您的实现有能力从容器中删除项目 第一个被删除,零索引将不再存在

grid.select(grid.getContainerDataSource().getIdByIndex(0));

关于java - Vaadin:在 Vaadin 中更新网格后如何关注第一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36086350/

相关文章:

android - 如何强制焦点编辑文本

java - 获取 无法找到主类 : error in Java even though Manifest has the class specified

java - Bundle 中值的 "Order"

java - 有没有办法为我的主要 Activity 设定条件?

html - CSS网格动态列数可能吗?

wpf - 简单的网格布局问题

java - combinebykey 和 aggregatebykey 的区别

javascript - d3.js 如何制作 "infinite"背景网格?

javascript - 如何用JavaScript模拟点击让当前输入失去焦点

java - 更改焦点(JTextArea 和 JOptionPane)