Extjs4如何禁用grid的某个列的itemClick事件

时间:2013-10-10 06:34:32

标签: grid extjs4

我在extjs4工作。我的网格面板视图为= enter image description here

我想在用户点击网格行时在浮动窗口中显示图像。所以我编写了函数showImage()并将其称为=

me.mon(me, {'itemclick' : me.showImageViewer
        }, me);

但是当用户点击网格的FileName列时,我不想调用此函数。那么当用户点击网格列'FileName'时,如何限制调用showImage函数

3 个答案:

答案 0 :(得分:0)

  

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

你的意思是如果单击行上的图像,你会显示一个包含更大图像的弹出窗口吗?如果是,在您的 showImageViewer 函数中,您必须检查单元格的属性(如果它是图像,或者您可以检查其dataIndex

您还可以收听cellClick而不是itemClick。这样,您可以检查被单击的单元格的cellIndex。在您的情况下,如果cellIndex等于2(FileName列的索引,请不要调用 showImageViewer

cellClick : function(view, cell, cellIndex, record, row, rowIndex, e) {

}

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

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

您可以尝试working sample here。希望它有助于解决您的问题