редактор альтернативного сообщения - PullRequest
1 голос
/ 10 февраля 2012

Я пытаюсь установить 2 разных сообщения с подсказками для 2 ячеек одного столбца, но во время выполнения будет применено одно сообщение с подсказкой, то есть если я щелкаю по ячейке относительно условия условия if, то это же сообщение с подсказкой будет переадресовано в остальные ячейки, если я перейду от 1-й ячейки к 2-й ячейке, сообщение не изменится, 1-я ячейка будет перенесена вперед, и наоборот, если я перейду со 2-й ячейки на 1-ю ячейку, сообщение с 2-й подсказкой останется прежним до клетки.

celldblclick : function(grid, rowIndex, columnIndex, e) {
    var ed = grid.getColumnModel().getCellEditor(columnIndex,rowIndex) || {};
    ed = ed.field || {};

    if (rowIndex == 0 && columnIndex == 2) {
        ed.qtipText="SAMPLE1";
    } else {
        ed.qtipText="SAMPLE2";
    }
}

1 Ответ

1 голос
/ 10 февраля 2012

Чтобы они отображались по-разному, я обычно прикрепляю функцию к метке beforeshow, которая обновляет подсказку перед ее отображением:

// add tooltips to grid
myGrid.getView().on('render', function(view) {
    view.tip = Ext.create('Ext.tip.ToolTip', {
        target: view.el,
        delegate: view.itemSelector,
        trackMouse: true,
        minWidth: 0, 
        maxWidth: 800, 
        dismissDelay: 0,
        showDelay: 800,
        renderTo: Ext.getBody(),
        listeners:{
            beforeshow: function updateTipBody(tip){
                text = view.getRecord(tip.triggerElement).get('tooltip')
                tip.setWidth(text.length * 5);
                tip.update(text);
            }
        }
    });
});  

В вышеприведенном примере мои подсказки были определены для каждой записи в самом хранилище данных, поэтому я называю text = view.getRecord(tip.triggerElement).get('tooltip') ('подсказка' - это столбец в моем хранилище данных с текстом подсказки). Но вы можете реализовать любую логику, которую захотите, в функции прослушивателя beforeshow, если в конце вызываете tip.update(yourLogic).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...