Kendo Grid中的服务器端分页?

Posted

技术标签:

【中文标题】Kendo Grid中的服务器端分页?【英文标题】:Server Side Paging in Kendo Grid? 【发布时间】:2014-02-18 06:12:43 【问题描述】:

我想在 Kendo Grid 中进行客户端网格分页。在网格中,只有前 50 或 100 个数据将显示在第一页中。当客户点击下一页时,将显示其他 50 或 100 条数据。我不想从我的服务器获取所有数据。因为数据库中会有数百万个数据,客户不想等待服务从服务器获取所有数据。当他/她点击下一页时,其他数据应该从服务器请求。我该怎么做?

我的控制器

[HttpGet]
    public JsonResult Getdata()
    
        var reports = db.ActivityLog.OrderBy(c => c.dateTime).ToList();
        var collection = reports.Select(x => new
        
            username = x.uName,
            location = x.locName,
                devices = x.devName
        );
        return Json(collection, JsonRequestBehavior.AllowGet);
    

我的看法 函数handleDataFromServer()

        $("#grid").data("kendoGrid").dataSource.read();
    

    window.setInterval("handleDataFromServer()", 10000);

    $(document).ready(function () 
        $("#grid").kendoGrid(
            sortable: true,
            pageable: 
                input: true,
                numeric: false
            ,
            selectable: "multiple",
            dataSource: 
                transport: 
                    read: "/Home/Getdata",
                    type: "json"
                
            ,
            columns: [
                             field: "username", width: "80px" ,
                             field: "location", width: "80px" ,
                             field: "devices", width: "80px" ]
        );
    );

【问题讨论】:

【参考方案1】:

在剑道中,您可以轻松做到这一点。你只需要打开 serverPaging: true 。但据我所知,true 是默认值。反正需要在dataSource里面声明如下。

dataSource: 
    transport: ,
    pageSize: 50,
    serverPaging: true,        
,
pageable: 
    refresh: true,
    pageSizes: [25, 50, 100]

如果每个新页面请求的 serverPaging 为真,Kendo 将根据您的服务器获取逻辑向服务器发送请求以获取下一个批次。让我知道这是否有帮助。

【讨论】:

【参考方案2】:

另请参阅此 github 项目 KendoGridBinderEx,它也可作为 NuGet 包使用。

演示可以在here找到。

【讨论】:

【参考方案3】:

请阅读这篇文章,这篇文章用正确的代码和解释解释了服务器端分页、排序和其他选项。

http://blog.longle.net/2012/04/13/teleriks-html5-kendo-ui-grid-with-server-side-paging-sorting-filtering-with-mvc3-ef4-dynamic-linq/

希望这会有所帮助。

【讨论】:

skydrive 链接已断开。

以上是关于Kendo Grid中的服务器端分页?的主要内容,如果未能解决你的问题,请参考以下文章

Kendo MVC 服务器端分页

使用 WebAPI 对 ng-grid 进行服务器端分页+过滤+排序

AG-Grid 服务器端分页问题

ag-grid-community:服务器端分页的无限行模型,社区免费版 agGrid - 不像服务器端分页那样工作

具有无限 rowModelType 问题的 AG Grid 26.0.0 Angular 12.2 服务器端分页

Kendo Grid 在创建后不会使用新创建的 id 更新网格