【问题标题】:Kendo UI Grid serverPagination compatibalityKendo UI Grid 服务器分页兼容性
【发布时间】:2014-07-16 18:43:22
【问题描述】:

我正在运行 Spring Web 服务,使用 mongodb 作为后端,使用 kendo ui 网格来显示数据。 我正在尝试实现自定义服务器端分页,因为 kendo ui 网格的 serverPagination 无法正常工作。

我已经设置了将我的 json 响应分成不同页面的 Web 服务,如下所示。

path/to/json/1
path/to/json/2
path/to/json/3

我的问题是,这种格式是否与剑道 ui 网格兼容,如果可以,我如何将这些数据逐页加载到网格中。

我更改了服务器端响应,就像使用特定 url 一样,我遇到了 kendo 网格假设它是所有数据的问题,因此它只在底部显示一页。

因此,现在我返回一个原始大小的 json 数组(比如 10),如果 pageSize 为 5,则以下是我的服务器的响应:

Page 1    Page 2
1           x
2           x
3           x
4           x
5           x
x           6
x           7
x           8
x           9
x           10

其中 x 是一个空的 obj。

因此理论上,在第 1 页上,kendo 网格将加载前 5 个元素并用空元素填充第 2 页。当点击第 2 页时,它将加载接下来的五个元素并用空的元素填充第一个页面。 这样,kendo gird 就可以知道 json 的总大小,并可以据此实例化页面。

但是,我现在遇到的问题是,对于第 1 页,kendo 网格会加载所有 10 个元素,对于第 2 页也是如此,而不是拆分它。

对此有任何想法,还是有比这更有效的方法?

【问题讨论】:

    标签: angularjs kendo-ui pagination kendo-grid


    【解决方案1】:

    如果您想根据页码读取值,则必须设置读取 url,如下所示:

    read: {
       url: "path/to/json/#= getCurrentPage() #"
    }
    

    JS:

    function getCurrentPage() {
        return $("#grid").data("kendoGrid").dataSource.page();
    }
    

    如果以上内容不能满足您的需求或您有任何疑问,请告诉我。

    【讨论】:

    • 我更改了服务器的响应,如上所示。你能检查一下吗?
    【解决方案2】:

    使用 ajax GET 请求来获取我的列表的总大小,我可以动态更改 transport.schema 中的 total 变量的值。现在我只需要返回每页的 json 而不需要执行我上面的任何代码。它工作正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-18
      • 2017-01-19
      • 2017-05-10
      • 2023-03-10
      • 1970-01-01
      • 2013-11-23
      • 1970-01-01
      相关资源
      最近更新 更多