我为DataGrid设置自定义CssResource。
表格中的第一列是具有特定样式的有序列。 因此,当选择行时,我需要为订单列设置另一种特定样式。
类似的东西:
答案 0 :(得分:1)
您可以覆盖列的.getCellStyleNames
方法:
Column<Object, String> numberColumn = new Column<Object, String>(new TextCell()) {
@Override
public String getCellStyleNames(Context context, Object object) {
if (selectionModel.isSelected(object)) {
return "boldStyle";
}
};
答案 1 :(得分:0)
尝试使用AbstractHasData#addCellPreviewHandler()。
dataGrid.addCellPreviewHandler(new Handler<T>() {
@Override
public void onCellPreview(CellPreviewEvent<T> event) {
if ("click".equals(event.getNativeEvent().getType())) {
table.getRowElement(event.getIndex()).getCells().getItem(0).getStyle()
.setBackgroundColor("#444444");
}
}
});
注意:此代码适用于SingleSelectionModel
。如果您需要MultiSelectionModel
,那么对所有选定的行执行相同的操作。