我有一个kendo Grid可以提取大量数据。为了提高性能,我设置了ServerOperation(true),它为每个分页点击数据库,每次点击时只加载20条记录。
但是,当ServerOperation(true)时,kendo Grid Filter无法正常工作。 这是代码。如果我们使ServerOperation为false,则网格会立即检索所有数据,这将达到性能。请建议任何解决方案,使ServerOperation的过滤器为true。
@(Html.Kendo().Grid<ViewModel>().Name("Grid")
.Columns(columns =>
{
columns.Bound(p => p.Id).Hidden();
columns.Bound(p => p.Number).Filterable(filterable => filterable.UI("NumberFilter")).Width("150px").Locked(true);
})
.Filterable().Sortable()
.Resizable(resizing => resizing.Columns(true))
.Reorderable(reordering => reordering.Columns(true))
.Pageable().Scrollable(scr => scr.Height(580))
.DataSource(dataSource => dataSource.Ajax().PageSize(20)
.Read(read => read.Action("LoadTransaction", ControllerName.).Data("geton"))
))
public ActionResult LoadTransaction(int clientid, string id)
{
PagingInfo gvpi = UiControls.GetGridViewPagingInfo(Request.Form);
gvpi.FilterColumns.Add(new PagingColumn() { Name = "ClientId", Value = clientId.ToString(), IsFullTextFilter = true });
gvpi.FilterColumns.Add(new PagingColumn() { Name = "Id", Value = Id, IsFullTextFilter = true });
gvpi.PageSize = 20;
var pagedResult = _contextservice.GetAllByPage(gvpi);
return UiControls.GetGridViewDataAsJson(pagedResult.GridData, pagedResult.RecordCount);
}
function geton()
{
var clientId = $('#ClientId').val();
var Id = $('#Id').val();
return { clientId: clientId, Id: divisionId }
}
谢谢, 纳米萨