知道如何在CellTable
添加锚点?我在这里找到了同样的问题,但却找不到合适的解决方案。
有人可以提供一些工作代码来在CellTable列中添加锚吗?
答案 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
中呈现简单的内容。