2012-07-05 64 views
0
  • 使用的jqGrid的ASP.NET MVC組件

我有工作出色,除了一件事jqGrid的:那就是我必須以ShoeOwner關聯(鞋的網格對象名稱更改爲保護無辜)如何在jqGrid的「添加行」請求中發送額外的數據?

所以,當我有一個網格時,它只顯示特定ShoeOwner擁有的鞋子。當系統的用戶決定添加一個鞋子時,在發送請求之前,我需要爲請求添加一個附加參數,將這個新鞋子與這個特定的鞋子關聯器相關聯。 (否則請求將作爲一個孤獨的鞋子到達控制器。)

因爲我使用的是MVC組件,所以我不能僅僅在jqGrid()對象被實例化的時候粘貼它 - 看起來像我要麼需要:

  • 參數添加到數據集,當添加(或編輯,對於這個問題)請求被髮送的jqGrid將一起發送(現在它只是發送鞋業資訊) - 中問題在於,我必須在jqGrid實例化之後以編程方式將參數添加到jqGrid中,到目前爲止,我還沒有能夠這樣做,可以使用editParamsaddParams

  • 在請求消失之前掛鉤到事件中,然後添加附加信息。這裏的問題是,在發送「添加新行」請求之前,我無法找到可靠地觸發的事件。

有誰知道我怎麼能一個實體關聯添加的jqGrid與它所屬的父實體?

回答

1

您可以收聽addOptions/editOptions ..的beforeSubmit事件,以向請求添加其他參數。

Ex。

var addOptions = { 
    editCaption: 'Add Post', 
    processData: "Saving...", 
    width: 420, 
    closeAfterEdit: true, 
    closeOnEscape: true, 

    beforeSubmit: function (postdata, form) { 
     var $grid = $(gridName); 

      // additional parameters 
     postdata.AdditionalData1 = ... 
     postdata.AdditionalData2 = ... 

     return [true]; 
    } 
}; 


$(gridName).jqGrid('navGrid', pagerName, { 
      cloneToTop: true, 
      search: true, 
      view: true 
     }, 

editOptions, addOptions, deleteOptions); 
+0

不幸的是,當我嘗試以編程方式添加事件處理程序,它不工作,如:$( '#MyGrid')的jqGrid()setGridParam({ addOptions:{ beforeSubmit:功能( POSTDATA,形式){ 警報( 'beforesubmit FIRE!'); }。 } }) – Whisker 2012-07-06 14:54:22

+0

的功能似乎被附接(即,運行getGridParam( 'addOptions')beforeSubmit()產生警報消息) ,但是在提交時似乎並未觸發。 ( – Whisker 2012-07-06 15:00:31

+0

)你可以發佈你的代碼嗎?我在我的博客中使用jqgrid,我使用* beforeSubmit *事件添加必須發送的請求中的額外參數。一個重要的事情是你必須做*返回[false]; *結尾。 – VJAI 2012-07-06 15:55:33

相關問題