如何在网格单元Sencha GXT 3.1.1上使用QuickTip?

时间:2014-10-29 13:27:43

标签: gwt extjs tooltip gxt

我需要在网格单元格上添加工具提示,但此工具提示必须允许用户在工具提示中选择文本。我正在使用这样的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

1 个答案:

答案 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);