우선 ASP.NET MVC를 처음 사용합니다.ASP.net에서 jqgrid에서 정렬/페이징 MVC
저장 프로 시저를 사용하여 JqGrid
에서 사용자 지정 정렬 및 페이징을 수행하려고합니다. 저장 프로 시저에 대한 매개 변수는 StartIndex
, PageSize
, SortExpression
입니다.
jqgrid
에있는 각 탐색에서 현재 페이지 세부 정보 및 정렬 세부 정보를 얻고 내 작업 방법으로 전화하는 방법은 무엇입니까?
지금까지 내가 알고있는 저장 프로 시저 쪽이 좋습니다. 하지만 처음으로로드 할 때 10 개의 레코드가 검색됩니다. 총 레코드 수는 16입니다. 그러나 2 페이지를 보거나 예상 된 다음 페이지로 이동하기위한 제어를 볼 수 없습니다.
$(function() {
$("#myGrid").jqGrid({
url: '/Request/GetRequests/',
datatype: 'json',
mytype: 'get',
colNames: ['RequestType', 'RequestFrom', 'Summary', 'Status', 'CreatedDate', 'RequestID'],
colModel: [
{ name: 'RequestType', index: 'RequestType', width: 200 },
{ name: 'FromName', index: 'FromName', width: 200 },
{ name: 'Summary', index: 'Summary', width: 350 },
{ name: 'RequestStatus', index: 'RequestStatus', width: 150 },
{ name: 'CreatedDate', index: 'CreatedDate', width: 150 },
{ name: 'RequestID', index: 'RequestID', width: 150 }
],
pager: $('#myPager'),
rowNum: 10,
sortname: 'CreatedDate',
gridview: true,
sortorder: 'desc',
loadonce: true,
rowList: [5, 10, 20, 50],
width: 1100,
height: 900,
viewrecords: true,
caption: 'Request Details',
onSelectRow: function()
{
}
});
//var j = jQuery.noConflict();
//j('.datepicker').datepicker();
});
<table id="myGrid"></table>
<div id="myPager"></div>
동작 방법 :
[HttpGet]
public JsonResult GetRequests(string sidx, string sord, int page, int rows)
{
RequestRepository edb = new RequestRepository();
int pageIndex = page;
int pageSize = rows;
int startRow = (pageIndex * pageSize) + 1;
RequestNavigation data = edb.RequestGetParam(page, rows, sidx, sord);
int totalRecords = data.totalRecords;
int totalPages = (int)Math.Ceiling((float)totalRecords/(float)pageSize);
var jsonData = new
{
total = totalPages,
page,
records = totalRecords,
rows = data.RequestDetails.ToArray()
};
return Json(jsonData, JsonRequestBehavior.AllowGet);
}
안녕하세요, Chomel, 방금 내 질문을 업데이트했습니다. 제발 Noufal 위대한 참조하십시오 –
. 이제 가깝습니다. 귀하의 코드에 무엇이 잘못되었는지 자세히 설명해 주시겠습니까? 저장 프로 시저를 어디에 포함 시키려고 했습니까? –
으로 저장 절차가 잘 보입니다. 하지만 내가 처음으로 10 개의 레코드를로드 할 때 그 레코드가옵니다. 총 레코드는 16입니다. 다음 페이지로 이동하기 위해 페이지 2 또는 컨트롤을 볼 수 없습니다. –