다음과 같이 MVC 검도 그리드가 있습니다. 기본 페이징으로 잘 작동합니다.ASP.Net MVC의 사용자 지정 페이징 Kendo Grid
이제 맞춤 페이지를하고 싶습니다. 컨트롤러 액션에서 현재 페이지 인덱스를 알아야합니다. 또한 그리드의 "총"수를 설정해야합니다. [데이터베이스에 100 개의 레코드가 있더라도 실제 데이터 원본에는 한 번에 2 개의 레코드 만 있습니다. 그리드는 "total"특성을 사용하여 데이터베이스의 총 레코드 수를 알아야합니다.]
쿼리는 한 번에 데이터베이스에서 2 레코드 만 반환해야합니다.
Kendo Grid 용 MVC 래퍼를 사용하여이 사용자 정의 서버 페이징을 수행하려면 어떻게해야합니까?
@using (Html.BeginForm())
{
@(Html.Kendo().Grid<KendoUIMvcSample.Models.Sample>()
.Name("ssgrid222")
.Columns(columns => {
columns.Bound(p => p.SampleDescription).Filterable(false).Width(100);
columns.Bound(p => p.SampleCode).Filterable(false).Width(100);
columns.Bound(p => p.SampleItems).Filterable(false).Width(100);
})
.AutoBind(false)
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.HtmlAttributes(new { style = "height:430px;" })
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(2)
.Read(read => read.Action("Orders_Read", "Sample")
)
)
)
}
컨트롤러 여기
public ActionResult Orders_Read([DataSourceRequest]DataSourceRequest request)
{
int currentPageNumber = request.Page;
return Json(GetOrders().ToDataSourceResult(request));
}
이, 검도 처리 및 데이터베이스에 대한 적절한 쿼리를 만들 것입니다
보기. Kendo에 데이터를 전달하기 전에 쿼리를 실행하지 마십시오. –