Grid Extjs4如何禁用网格的itemClick事件&x27;那是某一列

Grid Extjs4如何禁用网格的itemClick事件&x27;那是某一列,grid,extjs4,Grid,Extjs4,我在extjs4中工作。我有网格面板视图= 我想在用户单击网格行时在浮动窗口中显示图像= me.mon(me, {'itemclick' : me.showImageViewer }, me); 但我不想在用户单击网格的FileName列时调用此函数。那么,当用户单击网格列“FileName”时,如何限制调用showImage函数呢 每当用户单击网格行时,我想在浮动窗口中显示图像 您的意思是,如果单击行上的图像,您将显示一个包含较大图像的弹出窗口吗?如果是,则在showIma

我在extjs4中工作。我有网格面板视图=

我想在用户单击网格行时在浮动窗口中显示图像=

me.mon(me, {'itemclick' : me.showImageViewer
        }, me);
但我不想在用户单击网格的FileName列时调用此函数。那么,当用户单击网格列“FileName”时,如何限制调用showImage函数呢

每当用户单击网格行时,我想在浮动窗口中显示图像

您的意思是,如果单击行上的图像,您将显示一个包含较大图像的弹出窗口吗?如果是,则在showImageViewer函数中,如果是图像,则必须检查单元格的属性,或者可以检查其
数据索引

您也可以收听
cellClick
,而不是
itemClick
。这样,您就可以检查所单击单元格的
cellIndex
。在您的情况下,如果
cellIndex
等于2(文件名列的索引),则不要调用showImageViewer


您可以侦听column click函数。为需要的列定义公共侦听器。在参数中,您应该接收网格、单元格元素、行索引、列索引、事件数据和记录(按此顺序)。因此,如果要使用此类侦听器移动、重命名标题或对列执行任何操作,则不会更改单击侦听器。

您可以使用css选择器来区分行内的元素,使用如下代码

listeners: {
        itemclick: {
            fn: function (view, record, item, index, e, eOpts) {
                var photo = e.getTarget('.photo');

                if(photo) {
                    alert(record.get('photo'));
                }
            }
        }

您可以试试a。希望它能帮助您解决问题。

谢谢您的回复,先生……但是我的列是可移动的,而且是可标记的。因此,我可以更改其附件索引。所以我可以使用cellClick获取数据索引吗
listeners: {
        itemclick: {
            fn: function (view, record, item, index, e, eOpts) {
                var photo = e.getTarget('.photo');

                if(photo) {
                    alert(record.get('photo'));
                }
            }
        }