GWT:如何在我的CellTable中添加锚单元格

时间:2012-02-13 15:57:46

标签: gwt gwt-celltable

知道如何在CellTable添加锚点?我在这里找到了同样的问题,但却找不到合适的解决方案。

有人可以提供一些工作代码来在CellTable列中添加锚吗?

2 个答案:

答案 0 :(得分:3)

小部件Anchor无法添加到CellTable中,因为所有单元小部件只知道如何绘制Cell<C>个实例。这使得他们可以比使用Widget更快/更有效地绘制和重绘其内容。

html锚元素<a href='someUrl'>text</a>可以轻松地作为Cell绘制。子类AbstractCell并定义绘制此html的render方法,与要重定向到的任何文本或链接交错。然后,在构建CellTable时,将此Cell实例传递给Column构造函数。

看一下GWT中的一些现有Cell,看看你如何绘制东西(比如ButtonCell.render创建一个按钮而不是a),或者如何处理事件({ {1}}关于如何以编程方式处理点击而不是将重定向到新页面,或AnchorCell以获取更复杂的示例。)

答案 1 :(得分:0)

我喜欢使用SafeHtmlCell将小部件的HTML呈现为CellTable

Column<MyTableType, SafeHtml> anchorColumn = new Column<MyTableType, SafeHtml>(new SafeHtmlCell()) {
    @Override
    public SafeHtml getValue(MyTableType object) {
        Anchor anchor = new Anchor(...);
        return SafeHtmlUtils.fromTrustedString(anchor.toString());
    }
};

请注意,Widget.toString();返回在调试器中查看的Widget的HTML代码段。它不会包含任何处理程序或侦听器。它只是HTML,但足以在CellTable中呈现简单的内容。