代码之家  ›  专栏  ›  技术社区  ›  rapadura

如何设置gwt 2.1 CellTables头的样式?

  •  11
  • rapadura  · 技术社区  · 14 年前

    我在文档中什么也没看到,除了一个包含一些“CssResource”并使用ClientBundle获取它的引用,但是我如何确切地覆盖一个CellTable的tbody和th?

    这可能吗?

    4 回复  |  直到 14 年前
        1
  •  26
  •   enrybo    11 年前

    创建接口:

      interface TableResources extends CellTable.Resources {
        @Source({CellTable.Style.DEFAULT_CSS, "<your css file>.css"})
        TableStyle cellTableStyle();
      }
    
      interface TableStyle extends CellTable.Style {
      }
    

    初始化单元格表:

        CellTable.Resources resources = GWT.create(TableResources.class);
        table = new CellTable<SomeProxy>(rowSize, resources);
    

    在cellview.client包中,您可以找到默认的gwt css文件。你用这些作为你的起点。在 "<your css file>.css" 把你具体的风格改变。

    也可以设置列样式(在col元素上):

    table.addColumnStyleName(colNumer, "some_css_style_name");
    

    或者最好使用css资源名,而不是字符串“some_css_style_name”。

        2
  •  3
  •   terje    13 年前

    只是为了好玩,我可以加上一些我刚头痛的东西。。。如果你改变了cellTableStyle();还有其他东西,它就会中断。。。没有警告或错误,CSS只是没有像我想象的那样出现。不知道这是在哪里记录的,但我发现了它后,许多小提琴试图找出为什么一些CSS是正确的,而有些没有。。

        3
  •  2
  •   Igor    13 年前

    出于某种原因,我的cellTable.addColumnStyleName(colNumber,“cssStyle”)无法工作。根据FireBug的说法,它不会添加样式,不管是什么(如果样式不正确,它至少可以将其添加到th元素的classes属性…)。也许是因为我在重新画专栏,但还是很奇怪。

        4
  •  1
  •   Joel    13 年前

    不过,我已经使用了上面的解决方案,如果您有另一个具有默认样式的表,那么它最终将使用您的自定义表生成。是否需要使用自定义样式覆盖所有表,或者是否有一些解决方法?

    另外,我发现CellTable构造函数不太理想。。。我必须指定页面大小才能指定样式资源单元格表(页面大小,资源…)。。。我一直在为pageSize设置Integer.MAX_值,不确定是否应该是-1或其他值,因为该值上没有javadoc。