2010-07-29 56 views
4

我試圖在jqgrid上使用表單編輯。當數據發送到網絡服務器時,我想要在get/post數據中發送額外的字段。jqGrid:發送編輯數據

聽起來像editData是我想要使用的。我如何將它鉤入導航欄?

<script type="text/javascript"> 
    $(document).ready(function(){ 
     if (jQuery('#ReferenceGrid').attr('role') == 'undefined' || jQuery('#ReferenceGrid').attr('role') == null) { 
      var lastSel; 
      jQuery('#ReferenceGrid').jqGrid({ 
       url: '/PlannedWorkOrder/Items/', 
       datatype: 'json', 
       postData: { referenceNumber: $('#reference').text() }, 
       colNames: ['Platinum Part Number', 'Quantity'], 
       colModel: [ 
        { name: 'PlatinumPartNumber', index: 'PlatinumPartNumber', width: 300, sortable: false, editable: true }, 
        { name: 'Quantity', index: 'Quantity', width: 300, sortable: false, editable: true, editrules:{integer: true} }, 
       ], 
       jsonReader: { 
        cell: "", 
        id: "PlatinumPartNumber", 
        repeatitems: false 
       }, 
       search:false, 
       viewrecords: true, 
       height: '100%', 
       sortorder: 'desc', 
       caption: 'Details', 
       altRows: true, 
       pager : '#gridpager', 
       pgbuttons: false, 
       pginput: false, 
       pgtext: false, 
       viewrecords: false, 
       editurl: '/PlannedWorkOrder/Item/' 
      }) 
      jQuery("#ReferenceGrid").navGrid('#gridpager', { add: true, edit: true, search: false }); 
     } 
     else { 
      $("#ReferenceGrid").setGridParam({ postData: { firstName: $('#Reference').val(), lastName: $('#Reference').val() } }); 
      $("#ReferenceGrid").trigger("reloadGrid") 
     } 
    }); 

</script> 

回答

10

要添加將數據添加/編輯過程中的形式編輯,你可以使用editData發送額外的參數:

jQuery('#ReferenceGrid').jqGrid('navGrid',"#gridpager", 
    {}, 
    {editData: {firstName: $('#Reference').val(), 
       lastName: $('#Reference').text()}}, // edit options 
    {editData: {firstName: $('#Reference').val(), 
       lastName: $('#Reference').text()}); // add options 

而且您的施工與jQuery('#ReferenceGrid').attr('role')看起來有點怪。可能你在我的舊建議How to filter the jqGrid data NOT using the built in search/filter box中找到同樣問題的解決方案。我建議你使用postData作爲一個功能:使用

postData: { referenceNumber: function() { return $('#reference').text(); } }, 

,而不是

postData: { referenceNumber: $('#reference').text() },