我在 extjs4 工作。我有网格面板视图=
每当用户单击网格行时,我想在浮动窗口中显示图像。所以我编写了函数 showImage() 并将其称为=
me.mon(me, {'itemclick' : me.showImageViewer
}, me);
但是当用户单击网格的 FileName 列时,我不想调用此函数。那么当用户点击网格列'FileName'时如何限制调用showImage函数
您可以使用 css 选择器来区分行内的元素,使用如下代码
listeners: {
itemclick: {
fn: function (view, record, item, index, e, eOpts) {
var photo = e.getTarget('.photo');
if(photo) {
alert(record.get('photo'));
}
}
}
您可以在此处尝试工作示例。希望它有助于解决您的问题
每当用户单击网格行时,我想在浮动窗口中显示图像。
你的意思是如果单击行上的图像,你会显示一个包含更大图像的弹出窗口?如果是,则在您的showImageViewer函数中,您必须检查单元格的属性(如果它是图像),或者您可以检查其dataIndex
.
你也可以听cellClick
而不是itemClick
。这样,您可以检查cellIndex
被单击的单元格的位置。在您的情况下,如果cellIndex
等于 2(您的 FileName 列的索引,请不要调用showImageViewer。
cellClick : function(view, cell, cellIndex, record, row, rowIndex, e) {
}
您可以收听列单击功能。为您需要的列定义通用侦听器。在参数中,您应该收到网格、单元格元素、行索引、列索引、事件数据和记录(按此顺序)。因此,如果您要移动、重命名标题或对带有此类侦听器的列执行任何您想要的操作,它不会更改点击侦听器。