我正在我们的GWT应用程序中实现多个主题。
问题是在构造 DataGrid 时,我找不到更改已传递给它的样式资源的方法。有没有人知道如何解决问题。还是每次主题变化,我们都要重构网格吗?
任何其他解决问题的新想法(在这些小部件上有多个主题)都值得赞赏。
谢谢。
使用uibinder。
在此页面
https://developers.google.com/web-toolkit/doc/latest/DevGuideUiBinder#Programmatic_access,
搜索该部分
以编程方式访问内联样式
但是,您需要熟悉uibinder。
我能够使用 -
cellTable.setRowStyles(new RowStyles>() {
@Override
public String getStyleNames(Map<String, String> row, int rowIndex) {
if (rowIndex % 2 == 0) {
return "cellTableEvenRow";
} else {
return "cellTableOddRow";
}
}
});
由于我必须为用户提供 3 个颜色主题,因此我为每种颜色使用了 3 个样式表,并在每个样式表中使用不同的颜色指定了以下样式。
.cellTableEvenRow {
background: #fffff !important;
}
.cellTableOddRow {
background: #E9FDE4 !important;
}
希望对您有所帮助!