如何将特定样式添加到所选行DataGrid GWT中的列

时间:2014-04-23 10:53:48

标签: css gwt datagrid

我为DataGrid设置自定义CssResource。

表格中的第一列是具有特定样式的有序列。 因此,当选择行时,我需要为订单列设置另一种特定样式。

类似的东西:

enter image description here

2 个答案:

答案 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,那么对所有选定的行执行相同的操作。