如何设置gwt 2.1 CellTables标题的样式?

时间:2010-11-16 13:40:08

标签: gwt view uibinder gwt2

除了引用包含一些“CssResource”并使用ClientBundle获取它之外,我在文档中看不到任何内容,但是如何完全覆盖CellTable的tbody和th?

这可能吗?

4 个答案:

答案 0 :(得分:26)

创建一个界面:

  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"中为您添加了特定的样式更改。

您还可以设置colum样式(在col元素上):

table.addColumnStyleName(colNumer, "some_css_style_name");

或更好地使用css资源名称而不是字符串“some_css_style_name”。

答案 1 :(得分:2)

只是为了它的乐趣,我可能会添加一些令我头疼的东西......如果你改变了cellTableStyle();与其他东西它打破...没有警告或错误,CSS只是没有像我想象的那样出现。不知道这是什么记录,但我发现很多fiddeling试图找出为什么一些CSS是正确的,有些不是..

答案 2 :(得分:2)

由于某种原因,我的cellTable.addColumnStyleName(colNumber,“cssStyle”)不起作用。根据FireBug,无论如何都不添加样式(如果样式不正确,它至少可以将它添加到th元素的classes属性中......)。也许是因为我正在重新绘制列,但它仍然很奇怪。

答案 3 :(得分:1)

我已经使用了上面的解决方案,但是,如果你有另一个带有默认样式的表,它最终会使用你的自定义表。您是否需要使用自定义样式覆盖所有表格,还是有一些解决方法?

另外,我发现CellTable构造函数不是最优的......我必须指定pageSize来指定样式资源CellTable(pageSize,resources)...我一直在为pageSize设置Integer.MAX_VALUE,不确定是否应该是-1或其他东西,因为该值上没有javadoc。