如何为GWT DataGrid添加特定样式

时间:2012-01-17 18:09:30

标签: java gwt

我需要为某些DataGrid行添加新样式,具体取决于变量。

例如:

table.setRowStyles(new RowStyles<Entry>() {
    @Override
    public String getStyleNames(Entry entry, int rowIndex) {
        return entry.isStyle() ? "newStyle" : null;
    }
});

“newStyle”是全局css风格。

问题是在我将!important添加到css定义之前,样式未应用于行。 但是使用!important我丢失了所有默认的DataGrid样式并且只有“newStyle”。

更新: css文件

.newStyle {
    color : lightgray;
}

2 个答案:

答案 0 :(得分:1)

有关正常工作的解决方案,请参阅this previous question。复制以方便:

  

简而言之,DataGrid.Style(目标只是有一个新的   类型,你不必添加任何东西)并拥有你的   dataGridStyle重写方法返回您自己的子类型而不是   DataGrid.Style(由于返回类型的协方差,它会起作用)

答案 1 :(得分:1)

更改CSS文件中newstyle的定义。通常,最好使CSS选择器更具体,而不是使用!important。尝试将默认的DataGrid CSS名称与您的名称相结合。例如:dataGridHeader.newStyle {}