GWT:将GWTP工具提示添加到CellTable单元格
问题描述:
我想使用GWT-Bootstrap Tooltip获取CellTable中列的单元格。每个工具提示都会显示单元格的描述,该单元格是用于生成表格的“MyCustomObject”类中的字段。GWT:将GWTP工具提示添加到CellTable单元格
我在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 tt = new Tooltip("Here goes the description");
tt.setAnimation(true);
tt.setWidget(tableColumn);
tt.reconfigure();
的问题是,一个CellTable小区不是插件,因此它不能以这种方式被附接。
那么有没有解决这个问题的方法?
答
我遇到过这个问题一次,我创建了我自己的单元格,显示一个工具提示,下面是我如何做到的:注意:我的单元格显示带有工具提示的图像,因此我很快更改了代码以显示字符串文本。 ..所以我没有用文字测试它。
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(“提示文本”)之前返回单元格文本。
希望这会有所帮助