所以我对如何在我的 Datagrid 中设置单个行的 css 有点困惑(据我所知,它可以使用 cellTable 可以使用的所有内容)。
首先,我有一个双击和单击处理程序,它们在“onCellPreview”中被正确调用(必须删除 selectionModel 才能工作)。然后我可以通过 event.getIndex() 获取行号。
接下来是我尝试为所选行设置 CSS 失败的地方,我的代码:
int Row= event.getIndex();
myDataTable.setRowStyles(new RowStyles<String[]>(){
@Override
public String getStyleNames(String [] rowObject, int theRow){
if (row== theRow){
return "myDataGridSelectedRow";
}
else
return "myDataGrid";
}
});
但是我不明白这应该如何工作(这也许就是我无法让它工作的原因)
- getStyleNames() 是如何被调用的?它只是在我的调试器中跳过它。
- setRowStyles 方法调用应该位于我的代码中的什么位置?
我想要让它正常工作,我必须删除呼叫
myDataTable.setStyleName("myDataGrid");
- 我的 DataGridOverride.css 中还有一个预先存在的 css 类(与“myDataGrid”所在的主 css 文件不同)。该类是“.dataGridSelectedRowCell”并具有背景颜色集(使用!important),但它不起作用。