Java Vaadin:更新Vaadin中的网格后,如何关注第一行?

Java Vaadin:更新Vaadin中的网格后,如何关注第一行?,java,grid,focus,vaadin,Java,Grid,Focus,Vaadin,我正在构建一个Vaadin应用程序,其中包含一个网格表。应用程序每分钟重新加载并更新一次表选择模式。不使用和v-grid-row-focused。不幸的是,每次数据刷新后,网格表中第一行的焦点都会消失。经过一些分析,我发现在每个表重新加载后,网格会返回到v-grid-cell-focused-模式,只有在按下arraydown按钮向下滚动行焦点后,网格才会变为v-grid-row-focused-模式。有没有办法完全禁用v-grid-cell-focused-模式?要获取表或网格的第一个item

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

要获取表或网格的第一个itemId(非Item),必须通过
容器。第一个itemId

表对此有一个评估方法,但网格没有

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

grid.select(grid.getContainerDataSource().getIdByIndex(0));
要获取表或网格的第一个itemId(非Item),必须通过
容器。firstItemId

表对此有一个评估方法,但网格没有

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

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

网格中并没有从服务器端设置聚焦单元格的方法,但我在Vaadin8中添加了这种方法setFocusedCell(行,列)


网格中没有从服务器端设置聚焦单元格的方法。但是,我在Vaadin 8中添加了这种方法setFocusedCell(行,列)


我对
SelectionMode的理解。NONE
是在网格中不会选择任何行,但您似乎希望选择一行。您能澄清一下您在尝试什么吗?另外,在重新填充网格
grid.select(grid.getContainerDataSource().getIdByIndex(0))后,您是否尝试过这种方法;
?是的,表格不选择行,而是将焦点放在行上。有人以这种方式编程。选择被禁用,行焦点显示为彩色和较厚的边框。在这种情况下,您需要共享一些代码(a),以便我们可以看到它的全部内容。
select()
高亮显示该行…但聚焦单元格仍保持原样。是否有办法更改聚焦单元格?即带有“蓝色”的单元格围绕它的边界?如何关注网格@Tatulundi我对
SelectionMode的理解。NONE
是网格中不会选择任何行,但您似乎希望选择一行。您能否澄清一下您正在尝试什么?另外,在重新填充网格
grid.select之后,您是否尝试过这种攻击(grid.getContainerDataSource().getIdByIndex(0));
?是的,表格不选择行,而是聚焦于行。有人用这种方式编程。选择被破坏,行聚焦显示为彩色和较厚的边框。在这种情况下,您需要共享一些代码(a),以便我们可以看到它的全部内容。
select()
高亮显示该行…但聚焦单元格仍保持原样。是否有办法更改聚焦单元格?即周围有“蓝色”边框的单元格?如何将网格聚焦到TatuLund