【发布时间】:2011-05-10 19:57:45
【问题描述】:
除了包含一些“CssResource”并使用 ClientBundle 获取它的引用之外,我在文档中看不到任何内容,但是我如何准确地覆盖 CellTable 的 tbody 和 th?
这可能吗?
【问题讨论】:
除了包含一些“CssResource”并使用 ClientBundle 获取它的引用之外,我在文档中看不到任何内容,但是我如何准确地覆盖 CellTable 的 tbody 和 th?
这可能吗?
【问题讨论】:
创建接口:
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”。
【讨论】:
@UiField(provided = true) 与 CellTable 一起使用。这样 UiBinder 就知道你在代码中创建了表。
只是为了好玩,我可能会添加一些我只是头疼的东西......如果你改变 cellTableStyle();其他东西它会破坏......没有警告或错误,CSS只是没有像我想象的那样出现。不知道这是在哪里记录的,但是在尝试找出为什么有些 CSS 正确而有些不正确之后,我发现了它。
【讨论】:
由于某种原因,我的 cellTable.addColumnStyleName(colNumber, "cssStyle") 无法正常工作。根据 FireBug,无论如何它都不会添加样式(如果样式不正确,它至少可以将其添加到 th 元素的 classes 属性中......)。也许是因为我正在重绘列,但这很奇怪。
【讨论】:
我已经使用了上面的解决方案,但是,如果您有另一个具有默认样式的表格,它最终会使用您的自定义表格。您是否需要使用自定义样式覆盖所有表格,还是有一些解决方法?
另外,我发现 CellTable 构造函数不是最优的...我必须指定 pageSize 来指定样式资源 CellTable(pageSize, resources)...我一直在为 pageSize 放置 Integer.MAX_VALUE,不确定是否如此应该是 -1 或其他值,因为该值没有 javadoc。
【讨论】: