0

知道如何在我的中添加锚点CellTable吗?我在这里发现了同样的问题,但找不到可行的解决方案。

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

4

2 回答 2

3

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

一个 html 锚元素,<a href='someUrl'>text</a>可以很容易地绘制为Cell. 子类AbstractCell化并定义渲染方法以绘制此 html,并与您要重定向到的任何文本或链接交错。然后,在构建时,将此实例CellTable传递给构造函数。CellColumn

查看 GWT中的一些现有Cells 以了解您还可以如何绘制事物(例如ButtonCell.render制作按钮而不是 a),或如何处理事件(AnchorCell关于如何以编程方式处理点击而不是让 a 重定向到新页面,或TextInputCell更复杂的示例)。

于 2012-02-13T16:19:50.673 回答
1

我喜欢使用SafeHtmlCell将 Widget 的 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.

于 2018-07-03T12:47:34.567 回答