2

我在网格渲染事件中使用此代码在行鼠标悬停时显示 tpl

grid.tip = new Ext.ToolTip({
    view: grid.getView(),
    target: grid.getView().mainBody,
    delegate: '.x-grid3-row',
    trackMouse: true,
    renderTo: Ext.getBody(),
    showDelay: 1000,
    listeners: {
        beforeshow: function updateTipBody(tip) {
            var i = grid.getView().findRowIndex(tip.triggerElement);
            var ViewObj = grid.getStore().getAt(i);
            var nameVar, addressVar, salesOrgVar;
            if (ViewObj.get('ERROR_MESSAGE') != null && (ViewObj.get('ERROR_MESSAGE')).length > 1) {

                console.log("done..");
                nameVar = (ViewObj.get('ERROR_MESSAGE') != null && ViewObj.get('ERROR_MESSAGE') != "") ? (Ext.BUNDLE.getMsg('POSFilesWidget.ErrorFolderGrid.ErrorFolder.label') + " : " + ViewObj.get('ERROR_MESSAGE')) : "";
                tip.update(nameVar);
            } else {
                tip.setSize(0, 0);
                tip.setVisible(false);
                console.log("1..");
            }
        }
    }
});

但是当消息没有出现时,它会显示空白 tpl,但我不想显示工具提示请看图片

在此处输入图像描述

4

1 回答 1

2

这是一个ExtJS 错误。你必须打电话

Tooltip.render(Ext.getBody());

在您的应用程序的开头。然后在你的听众中

return false;

当您不想显示工具提示时。

于 2013-07-11T17:46:24.553 回答