我有一个 MVC 剑道网格如下。它在默认分页下工作正常。
现在,我想做自定义分页。在控制器动作中,我们需要知道当前页面索引。它还应该设置网格的“总”计数。[即使数据库中有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));
}