Kendo serverPaging using javascript and web API

Kendo serverPaging using javascript and web API

本文关键字:web API and javascript serverPaging using Kendo      更新时间:2023-09-26

我在让服务器分页选项在 kendoGrid 上工作时遇到了一些问题。我已经搜索了几个小时,似乎无法让它按照我期望的方式工作。这是我所拥有的:

接口调用:

[HTTPGet]
[Route("GetItemsByPage", Name = "GetItemsByPage"]
public IEnumerable<IItem> GetByPage(int id, int page, int pageSize)
{
return foo.GetByPage(id, page, pageSize);
}

.JS:

var sharedDatasource = new kendo.data.Datasource({
    transport: {
        read: {
            url: "localhost:2222/api/product/Items/GetByPage/?id=38&page=1&pageSize=100"
            dataType: "json"
        }
    }, 
    schema: {
        total: // function to return total //
        // rest of schema info //
    },
    page: 1,
    pageSize: 100, 
    serverPaging: true
});

然后,我将数据源附加到网格div(所有显示正常)。这只是我有问题的服务器分页。我可以使用另一个 api 调用来获取所有项目,然后允许本地分页,但我不想一次获取所有这些数据。

您应该

在数据源上设置transport.parameterMap选项

var sharedDatasource = new kendo.data.Datasource({
    transport: {
        read: {
            url: "localhost:2222/api/product/Items/GetByPage/?id=38&page=1&pageSize=100"
            dataType: "json"
        },
        parameterMap: function(data, type) {
        if (type == "read") {
            // send take as "$top" and skip as "$skip"
            return {
                pageSize: data.pageSize,
                page: data.page
            }
        }
    }
    }, 
    page: 1,
    pageSize: 100, 
    serverPaging: true
});

我不知道你的代码中id了什么。但我希望你能抓住这个想法。