我需要为某些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;
}
答案 0 :(得分:1)
有关正常工作的解决方案,请参阅this previous question。复制以方便:
简而言之,
DataGrid.Style
(目标只是有一个新的 类型,你不必添加任何东西)并拥有你的dataGridStyle
重写方法返回您自己的子类型而不是DataGrid.Style
(由于返回类型的协方差,它会起作用)
答案 1 :(得分:1)
更改CSS文件中newstyle的定义。通常,最好使CSS选择器更具体,而不是使用!important
。尝试将默认的DataGrid CSS名称与您的名称相结合。例如:dataGridHeader.newStyle {}