2012-03-06 3 views
1

У меня есть ExtJs 3.4 Grid Panel: Внутри первый столбец заполняется ссылками на каждую строку.Панель панели ExtJs, которая содержит ссылки, возвращает false

Когда я нажимаю на каждую строку, я хочу открыть панель сведений на той же странице, чтобы я реализовал прослушиватель (на cellclick). Но у меня также есть эти ссылки в первом столбце, и я хочу перемещаться, когда я нажимаю эти ссылки, но Ext просто перезаписывает мой onclick-прослушиватель (по ссылке) с возвратом false.

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

ответ

2

Вы можете использовать Ext.EventObject.getTarget метод для определения цели в cellclick обработчик.

Например:

cellclick: function(grid, rowIndex, columnIndex, e) { 
    var record = grid.getStore().getAt(rowIndex);   
    if (e.getTarget('a.x-link', this.body)) { 
     alert('link'); 
    } else { 
     panel.body.update(record.get('company')); 
    } 
} 

Работа образца: http://jsfiddle.net/lolo/jD7ZE/2/

+0

Спасибо ... решить мою проблему! – spauny

0

Это может работать, просто попробуйте это

MyGrid.getSelectionModel().on('select', function (rModel, selectedRecord, idx, oBj) { 
     $('#History_links').show(); 
    }); 
Смежные вопросы