2012-10-12 57 views
1

我在一個頁面上有兩個jqgrid。這兩個應該有上下文菜單。如果我有兩個不同的上下文菜單,可能會說'myMenu1'和'myMenu2'。不過,我想只有一個上下文菜單,我想使用它的同時網格和我實際上從link from oleg了參考。請建議我如何實現?
如何在兩個網格上使用相同的上下文菜單開發兩個jqgrid?

<div class="contextMenu" id="myMenu1" style="display:none"> 
     <ul style="width: 200px"> 
     <li id="edit"> 
      <span class="ui-icon ui-icon-pencil" style="float:left"></span> 
      <span style="font-size:11px; font-family:Verdana">Edit Row</span> 
     </li> 
     <li id="del"> 
      <span class="ui-icon ui-icon-trash" style="float:left"></span> 
      <span style="font-size:11px; font-family:Verdana">Delete Row</span> 
     </li> 
     </ul> 
     </div> 

而且我現在乾的結合就像下面。

loadComplete: function() { 
         $("tr.jqgrow", this).contextMenu('myMenu1', { 
          bindings: { 
           'edit': function(trigger) { 
           if (trigger.id && trigger.id !== lastSelection) { 
             grid_location.restoreRow(lastSelection); 
             grid_location.editRow(trigger.id, true); 
           lastSelection = trigger.id; 
            } 

           }, 
           'del': function(trigger) { 
          if ($('#del').hasClass('ui-state-disabled') === false) { 
             // disabled item can do be choosed 
             if (trigger.id && trigger.id !== lastSelection) { 
              grid_location.restoreRow(lastSelection); 
             //grid.editRow(trigger.id, true); 
             //lastSelection = trigger.id; 
              } 
             grid_location.delGridRow(trigger.id, delSettings); 
            } 
           } 
          }, 
          onContextMenu: function(event/*, menu*/) { 
           var rowId = $(event.target).closest("tr.jqgrow").attr("id"); 
           //grid.setSelection(rowId); 
           return true; 
          } 
         }); 
        } 
+0

這是您使用的上下文菜單插件? –

+0

@CrisimIlNumenoreano我正在使用jquery.contextmenu。它的jqgrid下載(版本4.4.1)。 – venugopal

+0

我想請大師的jqGrid像@oleg幫我爲這個問題是我的項目非常重要,我是你的jqGrid例子的忠實追隨者。 – venugopal

回答

0

我認爲$(event.target).closest("table")是參考目前jqGrid的,如果沒有當然的子網格。

0

我解決了這個本地數據,而我在這裏張貼的全部代碼。唯一值得關注的是,如果日期選擇器沒有選擇日期,如果兩個網格中的類型日期列具有相同的名稱(或索引)。所以爲此,我使用了不同的名稱(inv_date和invdate),但在服務器端數據的情況下,我仍然感到困惑。

onContextMenu: function(event/*, menu*/) { 
    /* 
     In this line we will be specifying on which grid the context menu has to perform 
     and this variable 'grid' has to be used in the 'onclickSubmitLocal' function. 
    */ 
    grid = $("#currnt_grid"); 
    var rowId = $(event.target).closest("tr.jqgrow").attr("id"); 
    return true; 
} 
+0

你能否把你的代碼減少到重要的部分? – WarrenFaith

+0

在你的代碼中你仍然引用myMenu2,即使它不存在。 –

+0

@CrisimIlNumenoreano請原諒我,它是一個錯字。請立即檢查。 – venugopal

相關問題