我有一个网格,我在其中显示来自大型数据库的数据;但是我需要按部分显示数据。我的意思是,我的数据库中有一个包含 10,000 行的表,我想在页面仅加载我的 Kendo UI Grid 中的前 10 行时显示,并且当用户使用滚动并返回时进行新查询(按块,例如第二次加载时为 200-300)并显示新数据而不会丢失前一个数据。
我在 DataTables 框架中看到了一些类似的东西,但是使用 kendo 选项我无法做到这一点。如果您需要更多信息,请询问我。
我有一个网格,我在其中显示来自大型数据库的数据;但是我需要按部分显示数据。我的意思是,我的数据库中有一个包含 10,000 行的表,我想在页面仅加载我的 Kendo UI Grid 中的前 10 行时显示,并且当用户使用滚动并返回时进行新查询(按块,例如第二次加载时为 200-300)并显示新数据而不会丢失前一个数据。
我在 DataTables 框架中看到了一些类似的东西,但是使用 kendo 选项我无法做到这一点。如果您需要更多信息,请询问我。
您正在寻找的是远程数据的虚拟化,您在 KendoUI 网站http: //demos.kendoui.com/web/grid/virtualization-remote-data.html 中有一个演示,并且在此处输入链接描述中的文档。
基本上,您必须在网格中定义:
scrollable: {
virtual: true
}
@model IEnumerable<KendoUIMvcApplication1.Models.SiteMonitoring>
@{
ViewBag.Title = "Site Monitoring";
}
<h2>@ViewBag.Message</h2>
@(Html.Kendo().Grid(Model)
.Name("Grid")
.Columns(columns =>
{
columns.Bound(s => s.SiteId).Groupable(false);
columns.Bound(s=> s.SiteName);
columns.Bound(s=>s.SiteStatus);
columns.Bound(s => s.UpdateTime);
columns.Bound(s=>s.FuelLevel);
columns.Bound(s => s.BatteryStrength);
columns.Bound(s => s.DGStatus);
columns.Bound(s => s.ACStatus);
columns.Bound(s => s.DoorOpen);
})
***.Scrollable(scrollable => scrollable.Virtual(true).Height(280))***
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(2)
.Read(read => read.Action("Index", "SiteMonitoring"))
)
)
当我向下滚动以查看下一条记录时,该页面需要无限时间来加载(实际上并未加载)。不知道是什么问题?