1

我有一个带有静态列的 GWT DataGrid。虽然我知道我可以删除列并将它们添加回不同的名称,但是否可以直接更改列的名称?

更新:

我不明白发生了什么事。根据 Thomas Boyer 在下面的回答,我确实在文档中看到 .getHeader() 作为公共方法从 AbstractCellTable 继承,但编译器说 DataGrid 不存在这种方法。

创建网格:

DataGrid myGrid = new DataGrid<MyType>(Integer.MAX_VALUE, GWT.<DataGridResources2> create(DataGridResources2.class));

这无法编译:

Header<MyHeaderClass> header = myGrid.getHeader(0);

编译器说 DataGrid 类型不存在这样的方法。

4

2 回答 2

1

似乎建议的答案是行不通的,因为 setValue 方法不仅仅采用 String 或 SafeHtml - 您需要诸如 Context 之类的东西。

这是一种方法:

public class HeaderHtml implements SafeHtml {
   /**
    * the header's HTML string
    */
   private String html = "";

   /**
    * Sets the HTML after escaping tags.
    * Could change to:
    *    this.html = html == null ? "" : html;
    * if desired.
    */
   public void setHtml(String html) {
      this.html = html == null ? "" : SafeHtmlUtils.htmlEscapeAllowEntities(html);
   }

   /**
    * Required method to deliver the HTML string
    * @return the HTML string
    */
   @Override
   public String asString() {
      return html;
   }
}

创建一个实例以用作 SafeHtml 标头。然后,您可以随时推送新字符串。

于 2015-11-22T15:00:22.217 回答
0

您可以使用DataGrid 的getHeader方法获取列标题,然后

getCell().setValue
于 2013-07-11T01:49:37.480 回答