我想将GWT-Bootstrap Tooltip用于CellTable中列的单元格。每个工具提示将显示一个单元格的描述,该单元格是" MyCustomObject"用于生成表的类。
我在this问题的答案中找到的一个快速解决方案如下:
CellTable<MyCustomObject> table = new CellTable<MyCustomObject>();
table.addCellPreviewHandler(new Handler<MyCustomObject>() {
@Override
public void onCellPreview(CellPreviewEvent<MyCustomObject> event) {
if (event.getNativeEvent().getType().equals("mouseover")){
table.getRowElement(event.getIndex()).getCells()
.getItem(event.getColumn()).setTitle(event.getValue().getDescription());
}
}
}
);
这有点道理但是当我将光标悬停在表格单元格上并且没有附加到DOM时,我什么都看不到。任何人都可以解释这甚至有用吗?我想将Tooltip附加到表格单元格,类似于以下内容。
Tooltip tt = new Tooltip("Here goes the description");
tt.setAnimation(true);
tt.setWidget(tableColumn);
tt.reconfigure();
问题是CellTable单元格不是小部件,所以它不能以这种方式附加。
那么有没有解决方法?
答案 0 :(得分:0)
我曾经遇到过这个问题,我创建了自己的单元格,显示了一个工具提示,这里我是如何做到的:注意:我的单元格显示带有工具提示的图像,所以我很快就更改了代码显示字符串文本...所以我没有用文本测试它。
private class TooltipCell extends AbstractCell<String> {
private String tooltipText = "";
@Override
public void render(Context context, String value, SafeHtmlBuilder sb) {
if (value != null) {
sb.appendHtmlConstant("<div title=\"" + tooltipText + "\">");
sb.append(SafeHtmlUtils.fromString(value));
}
}
public void setTooltip(String tootltipTextToSet){
tooltipText = tootltipTextToSet;
}
}
在表格中,在返回单元格文本之前,在方法getValue中使用方法setTooltip(&#34; tooltip text&#34;)。
希望这有帮助