Search code examples
extjsgridtooltipextjs6

ToolTip in Grid cell - ExtJs 6


I am using below code to display Tool Tip for Grid cell In ExtJS 6

{
header: 'Name', 
cls: 'nameCls',
locked: true,
tdCls: 'nameTdCls',
dataIndex: 'name',
renderer: function (value, metaData, record, rowIndex, colIndex, store, view) {
    metaData.tdAttr = 'data-qtip= "' + value + '" data-qclass="tipCls" data-qwidth=200';
    return value;
}}

When i run the application it doesnt show the tooltip and display below error message. JS Console Error on cell mouse hover

Any idea guys??

Thanks in advance guys.

Regards, Mahendra


Solution

  • Have you tried creating an Ext.tip.ToolTip? You can create a single one to serve as tooltip for each name cell (using delegate) and update it with the value of that cell. Set up a grid render listener to create the tooltip like this:

    render: function(grid) {
      var view = grid.getView();
    
      grid.tip = Ext.create('Ext.tip.ToolTip', {
        target: view.getId(),
        delegate: view.itemSelector + ' .nameTdCls',
        trackMouse: true,
        listeners: {
          beforeshow: function updateTipBody(tip) {
            var tipGridView = tip.target.component;
            var record = tipGridView.getRecord(tip.triggerElement);
    
            tip.update(record.get('name'));
          }
        }
      });
    }
    

    For a working example, see this Fiddle.