如何动态设置GWT DataGrid的样式

时间:2012-08-13 05:19:13

标签: gwt datagrid themes clientbundle

我正在GWT应用程序中实现多个主题。

问题是当构造DataGrid时,我找不到改变传递给它的样式资源的方法。有谁知道如何解决这个问题。或者在每次主题变化时,我们是否必须重建网格?

任何其他解决问题的新想法(在这些小部件上都有多个主题)表示赞赏。

感谢。

2 个答案:

答案 0 :(得分:0)

你可以使用uibinder。

在此页面

https://developers.google.com/web-toolkit/doc/latest/DevGuideUiBinder#Programmatic_access

搜索

部分

对内联样式的编程访问

但是,你需要熟悉uibinder。

答案 1 :(得分:0)

我能够使用 -

这样做

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;
}

希望它有所帮助!