Вы можете использовать параметр trigger
, для которого id
инициализирован как идентификатор строки.Таким образом, вы можете использовать getCell
или getRowData
.Например, метод abc1
может быть похож на следующий
loadComplete: function () {
var $this = $(this); // it will be the same like $("#grid")
$("tr.jqgrow", this).contextMenu('contextMenu', {
bindings: {
abc1: function(trigger) {
var rowData = $(this).jqGrid('getRowData', trigger.id);
// now you can access any data from the row including
// hidden columns with the syntax: rowData.colName
// where colName in the value of 'name' property of
// the column
},
...
},
onContextMenu : function(event, menu) {
...
},
// next settings
menuStyle: {
backgroundColor: '#fcfdfd',
border: '1px solid #a6c9e2',
maxWidth: '600px', // to be sure
width: '100%' // to have good width of the menu
},
itemHoverStyle: {
border: '1px solid #79b7e7',
color: '#1d5987',
backgroundColor: '#d0e5f5'
}
});
см. здесь еще одна демонстрация, которая использует menuStyle
и itemHoverStyle
, которые немного улучшают видимость контекстаменю.Демоверсия взята из запроса об ошибке , который я недавно опубликовал.