В ExtJS 4 сетки при наведении курсора показывают полное значение ячейки


У меня есть сетка с длинной строкой в одном из столбцов. Я хотел бы, чтобы полная строка появлялась, когда пользователь наводит курсор мыши на любую ячейку в этом столбце.

До сих пор у меня это работает, когда всплывающая подсказка появляется для любой ячейки в этом столбце, но они не отображают текст. Во всплывающей подсказке всегда просто написано "значок подсказки".

Как заставить qtip отображать переменную val вместо строки "Icon Tip"?

Ext.define('AM.view.user.List' , {
    extend: 'Ext.grid.Panel',
    .......
    initComponent: function() {
        function renderTip(val, meta, rec, rowIndex, colIndex, store) {
            meta.tdAttr = 'data-qtip="Icon Tip"';
            return val;
        };
        this.columns = [
            {header: 'First Name', dataIndex: 'FirstName', width: 75},
            {header: 'Last Name', dataIndex: 'Last', width: 75},
            {header: 'Perm', dataIndex: 'Perm', width: 75},
            {header: 'Comment', dataIndex: 'Comments', width: 150, renderer: renderTip}
        ];
        this.callParent(arguments);
    }
});
2 10

2 ответа:

Выяснил это на форумах sencha, правильный код будет:

function renderTip(value, metaData, record, rowIdx, colIdx, store) {
    metaData.tdAttr = 'data-qtip="' + value + '"';
    return value;
};

Я думаю, что была какая-то конкатенация строк/переменных, которую мне нужно было использовать

Http://www.sencha.com/forum/showthread.php?179016-Grid-cell-tooltip

У вас уже есть значение, оно передается в качестве первого аргумента в визуализатор. Если вам нужна дополнительная информация, у вас также есть запись.