1) Вы должны добавить собственный класс CSS в ячейки сетки через средство визуализации, а затем использовать этот класс CSS в качестве делегата для всплывающей подсказки.
2) Вы имеете полный контроль над нужными ячейкамидобавить класс CSS на основе значения или других значений записи в рендерере.Не добавляйте пользовательский класс CSS в ячейку сетки, если значение пустое.
3) hideDelay: 0
в подсказке.
Обязательные изменения кода:
dataIndex: 'color',
renderer: function(v, meta) {
if(v) meta.tdCls = 'customCls';
return v;
}
и
target: view.el,
delegate: '.customCls',
trackMouse: true,
hideDelay: 0,
Однако , похоже, существуют проблемы с uievent
, по крайней мере в Firefox, о которых вам следует знать.Событие не всегда вызывается должным образом, иногда оно не запускается снова при перемещении между столбцами одной и той же строки, иногда оно вызывается с columnIndex = -1 при перемещении между строками.На образце страницы был сделан следующий снимок экрана:
Существует еще одна, менее хакерская и более поддерживаемая возможность реализовать это: добавлять подсказки прямо в средство визуализации.
Для этого удалите весь свой пользовательский код всплывающей подсказки.
Добавьте в средство визуализации атрибут data-qtip:
dataIndex: 'color',
renderer: function(value, meta, record) {
if(value) meta.tdAttr='data-qtip="'+value+'"';
return value;
}
Вы можете изменить hideDelay
в QuickTipManager , как показанов примере кода из документации QuickTipManager :
// Init the singleton. Any tag-based quick tips will start working.
Ext.tip.QuickTipManager.init();
// Apply a set of config properties to the singleton
Ext.apply(Ext.tip.QuickTipManager.getQuickTip(), {
hideDelay: 0
});
Соответствующая скрипка