如何动态设置 GWT 数据网格的样式



我正在我们的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;
}

希望对您有所帮助!

最新更新