我有一个带有静态列的GWT DataGrid。虽然我知道我可以删除列并使用不同的名称添加它们,但是可以直接更改列的名称吗?
更新
我不明白发生了什么。根据Per 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没有这样的方法。
答案 0 :(得分:0)
您可以使用DataGrid的getHeader方法获取列标题,然后
getCell().setValue
答案 1 :(得分:0)
似乎建议的答案是行不通的,因为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标头的实例。然后你可以随时推送一个新的字符串。