将自定义样式附加到 GWT CellTable(在本例中为所有单元格)

Posted

技术标签:

【中文标题】将自定义样式附加到 GWT CellTable(在本例中为所有单元格)【英文标题】:Append custom style to a GWT CellTable (in this case all cells) 【发布时间】:2011-06-17 12:57:42 【问题描述】:

我有一个案例要追加

white-space: nowrap;

我的 CellTable 中每个单元格的样式。目前它适用于所有表格,但很高兴知道两者都必须将其应用于特定的 CellTable 和所有 CellTable。

【问题讨论】:

【参考方案1】:

CellTables 有自己的CssResource。要覆盖应用于 cellTable 中所有单元格的此样式,请创建一个新的 css 文件:

/* Incremental changes from CellTable.css */ 
.cellTableCell 
  white-space: nowrap;

然后创建自己的 CellTable.Resources 接口:

public interface TableResources extends CellTable.Resources 

    /**
       * The styles applied to the table.
       */
    interface TableStyle extends CellTable.Style 
    

    @Override
    @Source( CellTable.Style.DEFAULT_CSS, "MyOwnCellTableStyleSheet.css" )
    TableStyle cellTableStyle();


最后,在创建 cellTable 时,使用constructor 让您指定要使用的资源

CellTable<Object> myCellTable = new CellTable<Object>(15, GWT.create(TableResources.class));

有关工作示例,请查看 GWT SDK 中提供的费用示例。

【讨论】:

非常好的答案,与我合作得很好,除了在 GWT 2.4 上您必须转换为 (Resources)GWT.create(TableResources.class) 之类的资源才能工作。 感谢您的解决方案。我发现它完全没有 TableStyle 接口也可以工作。你可以写: CellTable.Style cellTableStyle();这在一定程度上减少了样板。我在 GWT 2.6.0 上试过了【参考方案2】:

或者你可以用简单的方法做到这一点:

CellTable<YourObj> yourTable = new CellTable<YourObj>();
yourTable.getElement().getStyle().setWhiteSpace(WhiteSpace.NOWRAP);

没有 css 文件,没有奇怪的样板代码。

【讨论】:

以上是关于将自定义样式附加到 GWT CellTable(在本例中为所有单元格)的主要内容,如果未能解决你的问题,请参考以下文章

在celltable gwt中添加url列

如何将图像添加到 GWT 中的 cellTable 中的单元格

在 CellTable 单元格中添加双击事件 - GWT

GWT CellTable 选择并单击 CheckBoxCell

将 GWT CellTable 更改提交到服务器的策略/模式

GWT CellTable,单击时禁用 ButtonCell