我在extjs4工作。我的网格面板视图为=
我想在用户点击网格行时在浮动窗口中显示图像。所以我编写了函数showImage()并将其称为=
me.mon(me, {'itemclick' : me.showImageViewer
}, me);
但是当用户点击网格的FileName列时,我不想调用此函数。那么当用户点击网格列'FileName'时,如何限制调用showImage函数
答案 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。希望它有助于解决您的问题