1

我在 extjs4 工作。我有网格面板视图= 在此处输入图像描述

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

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

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

4

3 回答 3

0

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

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

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

您可以在此处尝试工作示例。希望它有助于解决您的问题

于 2013-10-14T23:32:59.283 回答
0

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

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

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

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

}
于 2013-10-10T08:43:47.683 回答
0

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

于 2013-10-10T14:10:04.070 回答