如何在不选择样式名称的情况下将样式名称添加到网格行?
How do I add style names to grid rows without selecting them?
我想在单击后设置网格行的样式。我在 itemClickListener
中获得了网格行/项目,但我需要避免使用 grid.select(item)
。我已经实现了所需的输出,它会突出显示我使用网格 select 方法单击的行,但这会给我的应用程序带来问题,因为我不希望该行成为 select ed,但我希望它只是突出显示,例如将 CSS 样式应用于所述行。到目前为止,这是我的代码:
grid.addItemClickListener(e -> {
grid.deselectAll();
grid.select(e.getItem());
});
以及:
grid.setStyleGenerator(row -> grid.getSelectedItems().contains(row)
? getRowSelectedStyle(row)
: null);
我似乎无法在论坛上找到任何可以为 clicked 行应用样式名称的内容。
您可能需要向您的项目 Bean 添加一个 属性,即“点击”。
那你可以
grid.addItemClickListener(e -> {
e.getItem().setClicked(true);
grid.getDataProvider().refreshItem(e.getItem());
});
和
grid.setStyleGenerator(row -> row.isClicked()
? getRowSelectedStyle(row)
: null);
我想在单击后设置网格行的样式。我在 itemClickListener
中获得了网格行/项目,但我需要避免使用 grid.select(item)
。我已经实现了所需的输出,它会突出显示我使用网格 select 方法单击的行,但这会给我的应用程序带来问题,因为我不希望该行成为 select ed,但我希望它只是突出显示,例如将 CSS 样式应用于所述行。到目前为止,这是我的代码:
grid.addItemClickListener(e -> {
grid.deselectAll();
grid.select(e.getItem());
});
以及:
grid.setStyleGenerator(row -> grid.getSelectedItems().contains(row)
? getRowSelectedStyle(row)
: null);
我似乎无法在论坛上找到任何可以为 clicked 行应用样式名称的内容。
您可能需要向您的项目 Bean 添加一个 属性,即“点击”。
那你可以
grid.addItemClickListener(e -> {
e.getItem().setClicked(true);
grid.getDataProvider().refreshItem(e.getItem());
});
和
grid.setStyleGenerator(row -> row.isClicked()
? getRowSelectedStyle(row)
: null);