У меня проблемы с добавлением контекстного меню в мой jqGrid в событии onRightClick.После щелчка правой кнопкой мыши по ячейке я хотел бы получить значения rowid, iRow и iCol из события onRightClickRow.
Однако проблема, с которой я сталкиваюсь, заключается в том, что при первом щелчке правой кнопкой мыши по ячейке вСетка в контекстном меню не появляется.Во второй раз, когда я щелкаю правой кнопкой мыши по ячейке, отображается контекстное меню, но значения rowid, iRow и iCol - все для первой ячейки, которая была нажата правой кнопкой мыши.Таким образом, rowid, iRow и iCol никогда не совпадают с ячейкой, по которой щелкают правой кнопкой мыши.
Для контекстного меню я использую jquery.contextmenu.r2.js
Вот код jqGridчто у меня есть.
jQuery("#list").jqGrid({
url:urlPath,
datatype:"json",
mtype:'GET',
jsonReader: {
root: function (obj) { return obj.result; },
id: dataID,
repeatitems: false,
page: function(obj) { return 1; },
total: function(obj) { return 1; },
records: function(obj) { return obj.result.length; }
},
colNames: columnNames,
colModel: columnModel,
onRightClickRow: function (rowid, iRow, iCol, e) {
jQuery("#list").contextMenu('rightClickMenu', {
bindings: {
'DisplayiRow': function(t) {
alert('DisplayiRow: ' + iRow);
},
'DisplayiCol': function(t) {
alert('DisplayiCol: ' + iRow);
}
}
})
},
scroll:1,
headertitles: true,
pager: '#pager',
shrinkToFit: false,
autowidth: true,
height: gridHeight,
sortable: true,
sortorder: 'desc',
viewsortcols:[true,'vertical', true],
viewrecords: true,
gridview: true,
loadonce: true
});
jQuery("#list").jqGrid('filterToolbar', {searchOnEnter:false,defaultSearch:'cn'});
});
HTML это
<div class="contextMenu" id="rightClickMenu" style="display:none">
<ul>
<li id="DisplayiRow">
DisplayiRow</li>
<li id="DisplayiCol">
DisplayiCol</li>
</ul>
</div>
Есть ли способ добавить контекстное меню правой кнопкой мыши на событие onRightClickRow, чтобы я мог получить rowid, iRow,и значения iCol ячейки, по которой щелкнули?