状況
プロジェクトでMVC[サーバー側]にTrirandJQGridを使用しています。
1つのテーブルに50万を超えるレコードがあります。
このコードを呼び出してデータをロードします。これは、500000レコードのコレクションを提供するものです。
IEnumerable<myIndexViewModel> myviewmodel= _allincidents.Select(x => new myIndexViewModel
{
IncidentRequestStatus = x.RequestStatus,
RequestByUserName = x.RequestByUserName,
Subject = x.Subject
});
gridModel.JqGrid.DataBind(myviewmodel.AsQueryable());
JQgridは、クリックする次のページごとにjsonベースのajaxリクエストを非常にうまく処理します。
問題
jqgridが強制終了されるため、ページ読み込みイベントで50万件のレコードをまとめて読み込みたくありません。
特定のページの表示を要求するためにDBにストアドプロシージャを作成すると、myviewmodelコレクションにそのページのみが読み込まれます。
次のページがクリックされたときにDBからその場でページを取得するにはどうすればよいですか。これはjqgridでも可能ですか?
状況2
VIJAYとMARKからの回答に基づいて、彼らが示したアプローチは完全に正しいですが、ここではMVCのJQGRIDがメソッド呼び出しを行うためのDATAURLプロパティを設定します。この場合、そのIncidentGridRequestです。
グリッドの次のページまたは前のページがクリックされたときにページ番号を送信するにはどうすればよいですか?
incidentModel.IncidentGrid.DataUrl = Url.Action("IncidentGridRequest")
public JsonResult IncidentGridRequest()
{
}