Ext JS 4:grid - 在点击动作列时对itemclick和不同动作的一些动作

hon*_*zzz 3 extjs extjs4

我有一个网格,我需要可点击的行 - 单击一行时应打开一个新窗口.但我想添加一个带有删除图标的操作列,该列将删除单击时的行.问题是,当单击操作列中的图标时,也会触发与该行相关的操作,并打开新窗口.我需要找到一种方法,在单击操作列时触发一个操作,在单击其余部分时触发另一个操作.有什么想法吗?

也许像下面的伪代码:

grid.on('itemclick', function(grid, rowIndex, columnIndex, e) {
    if (action column clicked) { // do something }
    else { // do something else }
}, this);
Run Code Online (Sandbox Code Playgroud)

...但是如何检测到单击了操作列?谢谢.

Sre*_*h S 7

而不是这个:

grid.on('itemclick', function(grid, rowIndex, columnIndex, e) {
    if (action column clicked) { // do something }
    else { // do something else }
}, this);
Run Code Online (Sandbox Code Playgroud)

用这个:

grid.getView().on('cellmousedown',function(view, cell, cellIdx, record, row, rowIdx, eOpts){
    //itemclick logic
});
Run Code Online (Sandbox Code Playgroud)

如果是actioncolumn,则不会触发此事件.所以你不需要if - else

貌似这个事件是无证,但在文档的私有方法在这里

参考:ExtJS 4 - 网格 - 禁用特定列的行选择