Trirand.Web.MvcクラスでJQGridを使用しており、カスタムページングを実行する方法を理解しようとしています。
ここでページングのデモを見ました
これらのデモの問題は、linqコンテキストオブジェクトに直接バインドし、MVCがページングを処理できるようにすることです。
// This method is called when the grid requests data. You can choose any method to call
// by setting the JQGrid.DataUrl property
public JsonResult PerformanceLinq_DataRequested()
{
// Get both the grid Model and the data Model
// The data model in our case is an autogenerated linq2sql database based on Northwind.
var gridModel = new OrdersJqGridModel();
var northWindModel = new NorthwindDataContext();
// return the result of the DataBind method, passing the datasource as a parameter
// jqGrid for ASP.NET MVC automatically takes care of paging, sorting, filtering/searching, etc
return gridModel.OrdersGrid.DataBind(northWindModel.OrdersLarges);
}
バインドしたいデータセットは非常に複雑で、ページングを行うストアドプロシージャからデータセットを返します。
したがって、JQGridに指定する必要があるのは、結果セット全体の特定のページの行の正しいサイズだけです。合計行数を返すこともできます。
だから私はリストmyListOfObjectsに私の結果を持っています。
myListOfObjects.AsQueryable()を使用してこれをDataBindに渡すことができます
問題は、JQGridは{ページサイズ}行しかないため、ページングオプションを表示しないことです。
合計行数を渡すことは可能ですか?
Teleriks MVCグリッドなどの他のグリッドを使用すると、合計行数を渡すことができ、ページングが正しく表示されます。