JQgrid中上下文菜单项的自定义值

我正在使用Oleg和Demo的这个链接来创建上下文菜单。 有没有办法将一些动态值传递给除rowId之外的每一行。 可能是一种方法是为每一行设置隐藏值并获取那些隐藏的列值但不确定如何实现此function。 感谢您的任何帮助或建议..

loadComplete: function(data) { // Fix the Grid Width... fixGridWidth($("#grid")); // Context Menu $("tr.jqgrow", this).contextMenu('contextMenu', { bindings: { 'abc1': function(trigger) { // would like to pass some custom values }, 'abc2': function(trigger) { // open a link in new window using a hyperlink }, 'abc3': function(trigger) { // custom logic } }, onContextMenu : function(event, menu) { //var rowId = $(event.target).parent("tr").attr("id"); //var grid = $("#grid"); //grid.setSelection(rowId); //return true; } }); 

您可以使用id初始化为rowid的trigger参数。 所以你可以使用getCellgetRowData 。 例如, 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' } }); 

在这里再看一个使用menuStyleitemHoverStyle演示,它可以提高上下文菜单的可见性。 该演示来自我最近发布的错误请求 。