Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何将筛选后的剑道网格内容放入mvc控制器_Jquery_Asp.net Mvc_Kendo Ui_Kendo Grid - Fatal编程技术网

Jquery 如何将筛选后的剑道网格内容放入mvc控制器

Jquery 如何将筛选后的剑道网格内容放入mvc控制器,jquery,asp.net-mvc,kendo-ui,kendo-grid,Jquery,Asp.net Mvc,Kendo Ui,Kendo Grid,我有一个剑道网格,在过滤网格后,我想导出可用的行以导出CSV格式。过滤器工作正常,但当单击导出按钮时,ajax调用将所有行发送到控制器。我只需要筛选的行。像这样尝试 <div id="example" class="k-content"> <button type="button"id="btnExport" >Export to csv!</button> <div id="grid"></div> </div

我有一个剑道网格,在过滤网格后,我想导出可用的行以导出CSV格式。过滤器工作正常,但当单击导出按钮时,ajax调用将所有行发送到控制器。我只需要筛选的行。

像这样尝试

  <div id="example" class="k-content">
      <button type="button"id="btnExport"  >Export to csv!</button>
<div id="grid"></div>
</div>

导出到csv!
脚本

<script>
$(function(){
 var grid = $("#grid").kendoGrid({
            dataSource: {
                type           : "odata",
                transport      : {
                    read: "http://demos.kendoui.com/service/Northwind.svc/Orders"
                },
                schema         : {
                    model: {
                        fields: {
                            OrderID  : { type: "number" },
                            Freight  : { type: "number" },
                            ShipName : { type: "string" },
                            OrderDate: { type: "date" },
                            ShipCity : { type: "string" }
                        }
                    }
                },
                pageSize       : 10
            },
            filterable: true,
            sortable  : true,
            pageable  : true,
            columns   : [
                {
                    field     : "OrderID",
                    filterable: false
                },
                "Freight",
                {
                    field : "OrderDate",
                    title : "Order Date",
                    width : 100,
                    format: "{0:MM/dd/yyyy}"
                },
                {
                    field: "ShipName",
                    title: "Ship Name",
                    width: 200
                },
                {
                    field: "ShipCity",
                    title: "Ship City"
                }
            ]
        }).data("kendoGrid");

 $("#btnExport").click(function(e) {

 var dataSource =  $("#grid").data("kendoGrid").dataSource; 
     var filteredDataSource = new kendo.data.DataSource( { 
         data: dataSource.data(), 
         filter: dataSource.filter() 
     }); 

     filteredDataSource.read();
     var data = filteredDataSource.view();

     var result = "data:application/vnd.ms-excel,";

     result += "<table><tr><th>OrderID</th><th>Freight</th><th>Order Date</th><th>Ship Name</th><th>Ship City</th></tr>";

     for (var i = 0; i < data.length; i++) {
         result += "<tr>";

         result += "<td>";
         result += data[i].OrderID;
         result += "</td>";

         result += "<td>";
         result += data[i].Freight;
         result += "</td>";

         result += "<td>";
         result += kendo.format("{0:MM/dd/yyyy}", data[i].OrderDate);
         result += "</td>";

         result += "<td>";
         result += data[i].ShipName;
         result += "</td>";

         result += "<td>";
         result += data[i].ShipCity;
         result += "</td>";

         result += "</tr>";
     }

     result += "</table>";
     if (window.navigator.msSaveBlob) {
            window.navigator.msSaveBlob(new Blob([result]),'export.csv');
        } else {
            window.open(result);
        }


     e.preventDefault();
});
});
</script>

$(函数(){
var grid=$(“#grid”).kendoGrid({
数据源:{
类型:“odata”,
运输:{
阅读:“http://demos.kendoui.com/service/Northwind.svc/Orders"
},
模式:{
型号:{
字段:{
OrderID:{type:“number”},
运费:{type:“number”},
船名:{type:“string”},
OrderDate:{type:“date”},
ShipCity:{type:“string”}
}
}
},
页面大小:10
},
可过滤:正确,
可排序:是的,
pageable:对,
栏目:[
{
字段:“订单ID”,
可过滤:false
},
“运费”,
{
字段:“订单日期”,
标题:“订单日期”,
宽度:100,
格式:“{0:MM/dd/yyyy}”
},
{
字段:“ShipName”,
标题:“船名”,
宽度:200
},
{
字段:“ShipCity”,
标题:“船舶城”
}
]
}).数据(“kendoGrid”);
$(“#btnExport”)。单击(函数(e){
var数据源=$(“#网格”).data(“kendoGrid”).dataSource;
var filteredDataSource=新的kendo.data.DataSource({
数据:dataSource.data(),
筛选器:dataSource.filter()
}); 
filteredatasource.read();
var data=filteredatasource.view();
var result=“数据:应用程序/vnd.ms excel”;
结果+=“OrderIDFreightOrder日期装运名称城市”;
对于(变量i=0;i

演示

您可以创建一个控制器方法并按如下方式传递网格请求

public void Export([DataSourceRequest] DataSourceRequest gridRequest){
    // your logic goes here
}

@Sivaraj如果这篇文章对你有帮助,那么就标记为ans。所以有人有同样的问题,那么它可能会帮助他。