单击网格行后,我想为其设置样式。我得到了 itemClickListener
中的网格行/元素,但我需要避免使用 grid.select(item)
.我已经实现了所需的输出,该输出将突出显示我使用网格选择方法单击的行,但这会给我的应用程序带来问题,因为我不希望选择该行,但我希望它只是突出显示,例如将 CSS 样式应用于所述行。到目前为止,这是我的代码:
grid.addItemClickListener(e -> {
grid.deselectAll();
grid.select(e.getItem());
});
也:grid.setStyleGenerator(row -> grid.getSelectedItems().contains(row)
? getRowSelectedStyle(row)
: null);
我似乎在论坛上找不到任何可以为单击的行应用样式名称的内容。
最佳答案
您可能需要为您的元素 Bean 添加一个属性,即“单击”。
那么你可以做
grid.addItemClickListener(e -> {
e.getItem().setClicked(true);
grid.getDataProvider().refreshItem(e.getItem());
});
和grid.setStyleGenerator(row -> row.isClicked()
? getRowSelectedStyle(row)
: null);
关于css - 如何将样式名称添加到网格行而不选择它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69165498/