所以我对如何在我的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";
}
});
但是我不明白这是怎么回事(这也许就是为什么我不能让它起作用)
我认为为了正常工作,我必须删除电话
myDataTable.setStyleName("myDataGrid");
答案 0 :(得分:2)
仅在呈现表时才调用此方法setRowStyles()
。
您可以通过以下方式动态设置样式:
myDataTable.getRowElement(i).getStyle()...
或
myDataTable.getRowElement(i).setClassName("myDataGridSelectedRow");
您无需从网格中删除样式名称。
编辑:
另一种方法是覆盖标准DataGrid CSS资源:
How do I style a gwt 2.1 CellTables headers?
如果您想对默认的GWT DataGrid样式进行许多更改,我建议使用此方法。