我有一个kendo datagrid。分页功能正常工作。但是,在单击列标题以对数据进行分类时,该控件一直在发送空白排序字段参数。
有趣的是,控件仍然发送排序方向,只是字段名称。
我已将"可排序"设置为True,DataSource,将ServerPaging设置为True,并为每列定义数据类型。我还有其他东西吗?
index.cshtml:
<div class="k-rtl">
@(Html.Kendo().Grid<KendoSample.Models.Person>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(p => p.PersonId).Title("Person Code").Width(100).Sortable(true);
columns.Bound(p => p.Name).Title("Person Name").Width(200).Sortable(true);
columns.Bound(p => p.Family).Title("Person Family").Sortable(true);
})
.Pageable()
.ToolBar(s => { s.Create(); })
.Scrollable()
.Sortable()
.HtmlAttributes(new { style = "height:430px;" })
.DataSource(dataSource => dataSource
.Ajax()
.Sort(sort =>
{
sort.Add(p => p.Name);
sort.Add(x => x.Family);
})
.Model(c => c.Id(p => p.PersonId))
.Create(c => c.Action("Read", "Home"))
.ServerOperation(true)
.PageSize(8)
.Read(read => read.Action("EditingPopup_read", "Home"))
).Sortable(c => c.AllowUnsort(false).SortMode(GridSortMode.SingleColumn))
.Resizable(resize => resize.Columns(true))
)
</div>
控制器:
public ActionResult EditingPopup_read ([DataSourceRequest]DataSourceRequest request)
{
return Json(GetCustomers().ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}
firebug中的参数:
page 1
pageSize 8
skip 0
sort[0][dir] asc
sort[0][field] Name
take 8
但是在控制器中,类别为无效。请帮助我。
谢谢。我通过包括kendo.aspnetmvc.min.js解决了这个问题。请参阅链接
您的排序应该在sortable()中,不是吗?请检查他们的正式演示。
http://demos.kendoui.com/web/grid/sorting.html