2017-11-23 5 views
0

?ここで剣道グリッドMVCの追加要求なしでExcelに/輸出輸出が卓越する場合に、追加の要求をしないMVCの拡張子を持つ剣道グリッドを設定する方法

は、グリッドの定義です。問題は、エクセルボタンへのエクスポートがグリッドをクリックしてサーバーに追加のリクエストを行うときに、表示されたデータを要求なしでエクスポートする必要があることです。全ページ・オプションがtrueに設定されている場合

ドキュメントから
@(Html.Kendo() 
    .Grid<VmTaskItem>() 
    .Name("kTasks") 
    .Columns(c => { 
     c.Bound(m => m.TaskType).Title().Width(150); 
    }) 
    .ToolBar(tb => tb.Excel()) 
    .Excel(e => e 
     .AllPages(false) // must disable request when export 
    ) 
    .DataSource(ds => ds 
     .Ajax() 
     .PageSize(30) 
     .Read(r => r.Action("GetTaskItems", "Home") 
     .Type(HttpVerbs.Get)) 
    )) 

https://docs.telerik.com/aspnet-mvc/helpers/grid/excel-export

グリッドは、すべてのデータの読み出し要求を行います。また

MVCずにグリッドのデモページで
http://demos.telerik.com/aspnet-mvc/grid/excel-export
をExcelにエクスポートするにはエクスポート機能は前のデータを照会しますない
http://demos.telerik.com/kendo-ui/grid/excel-export

答えて

0

なかったとき、MVCグリッドのためのデモページに追加要求を行います輸出を行う。

あなたがfalseにJavaScriptの初期設定はデフォルトのに対し、それを指定しない場合は、カミソリのグリッド・ヘルパーのデフォルトは、サーバーの操作を使用するので、MVCのデモは、リード要求を行います。

あなたは明示的にデータをエクスポートする前に要求を行うべきではありませんが、それは現在のページのみをエクスポートします

.DataSource(ds => ds 
    .Ajax() 
    .PageSize(30) 
    .Read(r => r.Action("GetTaskItems", "Home") 
    .Type(HttpVerbs.Get)) 
    .ServerOperation(false) 
)) 

、あなたの.DataSourceの設定に.ServerOperation(false)を追加した場合。

あなたはサーバーの操作を必要とし、エクスポートする前にサーバーをヒットしない場合は...あなたは、組み込みのエクスポートをオーバーライドして、それを自分で実装する必要があります。

関連する問題