我需要在网格单元格上添加工具提示,但此工具提示必须允许用户在工具提示中选择文本。我正在使用这样的QuickTip。
ColumnConfig<ClientModel, String> clmName = new ColumnConfig<ClientModel, String>
(dpGridModel.name(), 150, "Name");
clmName.setCell(new TextCell() {
@Override
public void render(Context context, String value, SafeHtmlBuilder sb) {
if (value != null) {
StringBuilder bAux = new StringBuilder();
ClientModel c = lstModel.get(context.getIndex());
bAux.append("<div style='width:100%;height:21px;' qtip='<table>");
bAux.append("<tr><td><b>ID:</b></td><td>" + c.getId() + "</td></tr>");
bAux.append("<tr><td><b>Name:</b></td><td>" + c.getName() + "</td></tr>");
bAux.append("<tr><td><b>Adress:</b></td><td>" + c.getAddress()+ "</td></tr>");
bAux.append("<tr><td><b>City:</b></td><td>" + c.getCity()+ "</td></tr>");
bAux.append("<tr><td><b>Email:</b></td><td>" + c.getEmail() + "</td></tr>");
bAux.append("<tr><td><b>Phone:</b></td><td>" + c.getPhone() + "</td></tr>");
bAux.append("<tr><td><b>Zip Code:</b></td><td>" + c.getZipcode() + "</td></tr>");
bAux.append("</table>'>" + value + "</div>");
sb.appendHtmlConstant(bAux.toString());
}
}
});
QuickTip t = new QuickTip(gridClient);
t.setAllowTextSelection(true);
t.setClosable(true);
鼠标移动时,工具提示始终隐藏。我需要通过关闭点击隐藏工具提示等待,例如ToolTip with ToolTipConfig。
我尝试使用QuickTip和ToolTipConfig。
QuickTip cqt = new QuickTip(gridClient);
cqt.setMaxWidth(650);
cqt.setClosable(true);
cqt.setQuickShowInterval(500);
cqt.setAllowTextSelection(true);
ToolTipConfig config = new ToolTipConfig();
config.setAutoHide(false);
cqt.setToolTipConfig(config);
它的作品QuickTip无法隐藏,但在QuickTip上方显示空白工具提示
感谢您的帮助:D
答案 0 :(得分:2)
第二次尝试不起作用,因为当您在QuickTip对象中调用setToolTipConfig时,它将为QuickTip创建一个新的工具提示,这不是我们想要的。
在第一种情况下,我们只需要将autoHide设置为false,但是在QuickTip类中没有方法可以执行此操作,因此选项是使用这样的更新方法:
QuickTip t = new QuickTip(gridClient);
t.setAllowTextSelection(true);
ToolTipConfig config = new ToolTipConfig();
config.setAutoHide(false);
config.setCloseable(true); // need to set it here otherwise it will be overwritten
t.update(config);