我正在使用最初加载这些数据的kendo网格。
@(Html.Kendo().Grid<GridModel>()
.Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.ID).Hidden(true);
columns.Bound(p => p.Name);
columns.Bound(p => p.Village);
columns.Command(command =>
{
command.Custom("ButtonP");
command.Custom("ButtonEdit");
command.Custom("ButtonActive");
command.Custom("ButtonPause");
}).Width("20%").HtmlAttributes(new { @class = "Custom" });
})
.Reorderable(reordering => reordering.Columns(true))
.HtmlAttributes(new { style = "margin-bottom: 20px;" })
.Sortable()
.EnableCustomBinding(true)
.ColumnMenu()
.AutoBind(false)
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("GetData", "Home"))
// .PageSize(30)
.ServerOperation(true)
)
.Events(e => e.DataBound("ModifyButtons"))
)
在此之后有一个搜索按钮,它通过ajax调用来调用后端来获取记录和总数。如果我包含所有记录,那么它用于寻呼,但是当我进行服务器分页时,它不会获取计数或总记录。 工作ajax
var dataSource = new kendo.data.DataSource({
data: response
});
$("#Grid").data("kendoGrid").setDataSource(dataSource);
和后端
var searchItems = Service.Search(SearchModel).Select(GridModel);
return Json(searchItems, JsonRequestBehavior.AllowGet);
但我想做服务器分页,当我返回此(非工作Ajax)时
var dataSource = new kendo.data.DataSource({
data: response.Data,
total: response.Total
});
$("#Grid").data("kendoGrid").setDataSource(dataSource);
和后端
var searchItems = Service.Search(SearchModel).Select(GridModel);
var records = new
{
Data = searchItems,
Total = 90
};
return Json(records, JsonRequestBehavior.AllowGet);
==要测试的硬编码总数。 SearchModel包含复杂搜索的参数
请告诉我如何从服务器端查找总数,它只显示当前页面大小为总计数。
答案 0 :(得分:1)
如果您正在使用包装,那么这可能是一个更容易的解决方案。
如果您正在进行服务器端操作,那么将控制器签名更改为注意:我假设它未设置如下:
public JsonResult GetData([DataSourceRequest] DataSourceRequest request, SearchModel mySearchObject){
//stuff happens here.
//get some results.
var model = someresults;
//more stuff happens here....
return Json(model.ToDataSourceResult(request),JsonRequestBehavior.AllowGet);
}
确保您添加了以下用法,以便工作:
using Kendo.Mvc.Extensions;
using Kendo.Mvc.UI;
这将为您返回一个新的datasource
对象,因此网格应该正确绑定并为您提供您所追求的总数据等。
没有看到你正在做的更多事情这是假设许多事情,但是应该希望在第一眼看到代码中缺少的部分。