我想自定义单元格表的列标题。我必须包括对排序和过滤的支持。我想为这两个动作都有图像。当用户单击排序图像时,它将切换(基于升序/降序排序),并根据单击的图标对表进行排序。我现在正在使用一些凌乱的HTML操作,在我的自定义标题单元格的onBrowserEvent中执行此操作。有人能告诉我如何在这里使用GWT的ToggleButton吗?
感谢。
答案 0 :(得分:0)
您不能在Cell Table中使用GWT Widget。 但是,您可以使用自定义单元格作为标题。
public class ButtonHeader extends Header<String> {
private String text;
/**
* Construct a new TextHeader.
*
* @param text the header text as a String
*/
public ButtonHeader(String text) {
super(new ButtonCell());
this.text = text;
setUpdater(new ValueUpdater<String>() {
@Override
public void update(String value) {
//When the button is press
}
});
}
@Override
public String getValue() {
return text;
}
}
您可以更改此选项以使用其他Cell供您使用。
答案 1 :(得分:0)
关于自定义单元格check this link的(不那么)完整文档。
你必须覆盖onBrowserEvent(),即使它很笨拙,因为你不能在单元格中使用GWT小部件但是你可以渲染它。然而,它将失去所有它的事件处理能力。
(from this post)小部件永远不会附加到DOM。它们存在于内存中,然后将其HTML提取并推送到DOM中。因此,不处理来自窗口小部件的事件。处理单元事件。
因此,您可以使用widget.getElement.getInnerHTML()
在标题中呈现所需的小部件(切换按钮或其他任何内容)。尽管手头有这个选项,我的建议是使用您自己的SafeHtmlTemplates而不是getInnerHTML()
。