0

我在jqgrid中定義了以下按鈕。我已經查找了很多關於此的帖子,但仍然不知道如何將數據源發送到控制器(而不是過濾器)。如何將JqGrid數據源(使用過濾器)傳遞給MVC控制器

我需要以某種方式獲取數據源作爲一個集合中的控制器

$("#btnExportCsv").click(function() { 
      $.blockUI({ css: { 
       border: 'none', 
       padding: '15px', 
       backgroundColor: '#000', 
       '-webkit-border-radius': '10px', 
       '-moz-border-radius': '10px', 
       color: '#fff' 
      }, message: '<h1>Exporting to CSV</h1><p><img src="/cms/themes/cm-blue/img/busy.gif" /></p>' 
      }); 

      generating = true; 

      $.ajax({ 
       type: 'POST', 
       dataType: 'json', 
       url: exportCsvUrl, 
       error: function (XMLHttpRequest, textStatus, errorThrown) { 
        $.jGrowl(XMLHttpRequest.responseText, { header: 'Error exporting csv' }); 
        generating = false; 
       }, 
       complete: function() { 
        $.unblockUI(); 
       }, 
       success: function() { 
        growl("Export completed successfully", "Export to Csv"); 
       } 
      }); 

     }); 

的jqGrid PARAMS:

$("#myGrid").jqGrid({ 
     colNames: [ 
    . 
    . 
    . 
     ], 
     colModel: [...] 
    mtype: 'POST', 
     datatype: 'json', 
     pager: '#crPager', 
     page: defaultGridParams.Page, 
     sortname: defaultGridParams.SortName, 
     sortorder: defaultGridParams.SortOrder, 
     rowNum: 10, 
     rowList: [10, 20, 50, 100], 
     url: Controllers/control, 
     height: 'auto', 
     loadui: 'block', 
     width: 1200, 
     caption: sGridCaption, 
     hidegrid: false, 
     viewrecords: true, 
     ShrinkToFit: false, 

回答

1

我相信你應該考慮看問題的其他方式。 網格從某處獲得數據,我可以通過它來自控制器。 如果你需要數據服務器端的數據,爲什麼不用你用來填充網格的相同方法來獲得它?

我可以看到這不工作的唯一方法是,如果數據提供給客戶端的網格,你沒有辦法獲得完全相同的數據服務器端。

無論如何,如果你真的想從drid數據只要致電:

$("#mygrid").jqGrid('getGridParam','data'); 

這將返回JSON,所以不要指望什麼比這更。 該json結構的種類和質量取決於您配置網格的方式。

相關問題