我一直在工作与剑道UI一段时间Datasource.View()和我已经在行为绊倒当您在网格您访问http://demos.telerik.com/kendo-ui/grid/remote-data-binding我无法解释剑道Datasource.Data()等于
可以看到总计830个元素。
当你去安慰和运行
$("#grid").data("kendoGrid").dataSource.view()
您会收到20个元素的数组(如预期)。当您运行时
$("#grid").data("kendoGrid").dataSource.data()
您会收到相同20个元素的数组。我尝试使用过滤器,根据我的经验,.data()的行为与view()完全相同,这很奇怪。据我了解文件,我应该收到20元素时使用view(),但我应该收到所有830使用数据时()
我一直在做错了什么?数据是否在后端过滤元素(和分页)?作为参考,这是我的后端方法,这对于我的网格返回数据
public ActionResult IndexDataSource([DataSourceRequest] DataSourceRequest request)
{
var customers = this.GetViewModel();
return this.Json(customers.ToDataSourceResult(request));
}
对于基于JavaScript的代码来说这是真的,但我使用的是MVC语法,并没有在那里设置。我会尝试明确地将其设置为false,并检查这是否会有所帮助。 – 2014-10-19 19:48:18
它应该以同样的方式工作(强调'应该')。 MVC只是通过C#生成JavaScript代码,并以相同的方式剪裁和渲染组件。您在JS中只能访问控制器首先读取的数据,并且服务器过滤会强制可分页的网格单独读取每个页面。当使用data()或view()方法时,网格的数据源不会向控制器询问任何其他数据。 – 2014-10-19 20:00:07
是的,你是对的。此选项默认设置为true,如果我明确设置,它将正确运行 – 2014-10-19 20:16:29