2012-03-06 51 views
1

我有一個ExtJs 3.4 Grid Panel:在內部,第一列填充了每行的鏈接。包含鏈接的ExtJs Grid Panel返回false

當我點擊每一行時,我想在同一頁面中打開一個詳細信息面板,因此我實現了一個偵聽器(在cellclick上)。但是我也在第一列有這些鏈接,當我點擊這些鏈接時我想離開,但是Ext只是用返回false來重寫我的onclick監聽器(在鏈接上)。

哪個是最好的方法來實現這一目標?我必須寫另一個聽衆也許會看到一個很好的解決方案,如果單元格中包含一個鏈接...

回答

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 2012-03-07 08:17:21

0

這可以工作,只是試試這個

MyGrid.getSelectionModel().on('select', function (rModel, selectedRecord, idx, oBj) { 
     $('#History_links').show(); 
    });