2012-04-11 8 views
1

私は剣道UIグリッドを持っており、CSVにエクスポートするときにグリッドに表示されているのと同じフィルタリングを持つことができるようにエクスポートボタンが必要です。剣道グリッドフィルターをKendoGridBinderを使用してポストする

私はずっと私がポストに同じフィルタを使用することになりエクスポートボタンを追加したいと思い

[HttpPost] 
    public JsonResult Grid(KendoGridRequest request) 
    { 
     var employees = GetEmployees(); 
     var grid = new KendoGrid<Employee>(request, employees); 
     return Json(grid); 
    } 

ようKendoGridRequestを受け入れるようにポストをしたいと思いますので、 輸出行動ができまたKendoGridRequestを受け入れ、KendoGridRequestクラスはから来

[HttpPost] 
    public ActionResult Export(KendoGridRequest request) 
    { 
     var employees = GetEmployees(); 
     var grid = new KendoGrid<Employee>(request, employees); 
     return ToCsv(grid); 
    } 

をCSVファイルを返しますproject

答えて

1

グリッドのオブジェクトによって公開されているdataSourceフィールドに含まれるすべてのアイテム(基本的にKendoGridRequestオブジェクトの作成に必要)を見つけ出し、エクスポートアクションメソッドにデータを送信するときにそれらを送信できます。

すなわち

var dataSource = $('#yourGridID').data('kendoGrid').dataSource; 
    var page = dataSource._page; 
    var skip = dataSource._skip; 
    var take = dataSource._take; 
    //etc. 

+0

これは素晴らしいですが、私はdatasource._filterと、この要求のためのすべてのフィルタのものに取得することができます。 KendoGridRequestを読み込めるように、簡単にパッケージ化して送信する方法はありますか?私はds._filter [0] .valueなどと言ってはいけません。 – eiu165

+0

簡単にパッケージ化して送信する方法はありますか?そうすれば、コントローラはKendoGridRequestを読み取ることができますか? – eiu165

関連する問題