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结构的种类和质量取决于您配置网格的方式。

相关问题