Extjs4在每个列上设置工具提示悬停在gridPanel中

Gop*_*ini 3 tooltip gridpanel extjs4

我正在获取当前列的每一行鼠标悬停的工具提示,但我无法获得下一列工具提示继续悬停在同一行上.

但是如果我将鼠标悬停在另一行并再次悬停在前一行的任何列上,我可以使用以下内容:

listeners:{
'itemmouseenter': function (view, record, item, index, e, eOpts) {
        var gridColums = view.getGridColumns();
        var column = gridColums[e.getTarget(this.view.cellSelector).cellIndex];
        Ext.fly(item).set({ 'data-qtip': 'Des:' + column.dataIndex });

  }
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我我缺少的东西或指向我正确的方向吗?

ina*_*abt 30

我有一个简单的,使用渲染器功能:

{
    xtype : 'gridcolumn',
    dataIndex : 'status',
    text : 'Status',
    renderer : function(value, metadata) {
                    metadata.tdAttr = 'data-qtip="' + value + '"';
                    return value;
                }
}
Run Code Online (Sandbox Code Playgroud)


小智 5

我正在看这个.通过这样做,我可以设法为每个单元格获取工具提示:

 Ext.getCmp('DynamicDemandGrid').getView().on('render', function(view) {
    view.tip = Ext.create('Ext.tip.ToolTip', {
        // The overall target element.
        target: view.el,
        // Each grid row causes its own seperate show and hide.
        delegate: view.cellSelector,
        // Moving within the row should not hide the tip.
        trackMouse: true,
        // Render immediately so that tip.body can be referenced prior to the first show.
        renderTo: Ext.getBody(),
        listeners: {
            // Change content dynamically depending on which element triggered the show.
            beforeshow: function updateTipBody(tip) {
                var gridColums = view.getGridColumns();
                var column = gridColums[tip.triggerElement.cellIndex];
                var val=view.getRecord(tip.triggerElement.parentNode).get(column.dataIndex);
                tip.update(val);
            }
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

如果有帮助,请告诉我