Kendo UI网格始终从第0页开始

3

我有一个Kendo UI网格,它总是从0开始。

如果我更改列上的排序方式,那么它会转到1并显示其他页面编号。

我做错了什么?

这是我的代码:

$('#userGrid').kendoGrid({
                dataSource: {
                    pageSize: 5,
                    transport: {
                        read: {
                            url: ROOT+"user/user-list",
                        },
                        update: {
                            url: ROOT+"user/update-user",
                            dataType: "POST"
                        }
                    },
                    error: function(e) {
                        alert(e.responseText);
                    },
                    schema: {
                        data: "data",
                        model: {
                            id: 'id',
                            fields: {
                                username: {type: "string", editable: false},
                                type: {
                                    type: "number",
                                    editable: true,
                                    validation: {required: true}
                                },
                                level: {
                                    type: "number",
                                    editable: true,
                                    validation: {required: true}
                                },
                                firstName: {type: "string", editable: true},
                                middleName: {type: "string", editable: true},
                                lastName: {type: "string", editable: true},
                                DoB: {type: "date", editable: true},
                                dateStarted: {type: "date", editable: false},
                                enabled: {
                                    type: "number",
                                    editable: true,
                                    validation: {required: true}
                                },
                            }
                        }
                    }
                },
                toolbar: ["save", "cancel"],
                sortable: true,
                pageable: {
                    refresh: true,
                    pageSizes: false
                },
                editable:true,
                columns:
                [
                    {
                    field: "username",
                    width: 90,
                    title: "Username"
                    },
                    {
                    field: "type",
                    width: 50,
                    title: "Type"
                    },
                    {
                    field: "level",
                    width: 25,
                    title: "Level"
                    },
                    {
                    field: "firstName",
                    width: 50,
                    title: "First name"
                    },
                    {
                    field: "middleName",
                    width: 50,
                    title: "Middle name"
                    },
                    {
                    field: "lastName",
                    width: 50,
                    title: "Last name"
                    },
                    {
                    field: "DoB",
                    width: 40,
                    title: "DoB",
                    template: '#= kendo.toString(DoB,"dd/MM/yyyy") #'
                    },
                    {
                    field: "dateStarted",
                    width: 40,
                    title: "Started",
                    template: '#= kendo.toString(dateStarted,"dd/MM/yyyy") #'
                    },
                    {
                    field: "enabled",
                    width: 40,
                    title: "Enabled"
                    }
                ]
            })
        })
    }
) ;
})

{"data":[{"id":"1","username":"admin@eu","type":"1","level":"12","firstName":"Tom","middleName":"C","lastName":"Higgins","DoB":"0000-00-00","dateStarted":"0000-00-00","enabled":"0"},{"id":"36","username":"liam.spelman@euautomation.com","type":"4","level":"12","firstName":"Liam","middleName":"","lastName":"Spelman","DoB":"0000-00-00","dateStarted":"0000-00-00","enabled":"0"},{"id":"56","username":"adf@sadf.com","type":"4","level":"1","firstName":"asdf","middleName":"","lastName":"asdf","DoB":"1970-01-01","dateStarted":"0000-00-00","enabled":"0"},{"id":"57","username":"adf@saddf.com","type":"4","level":"1","firstName":"asdf","middleName":"","lastName":"asdf","DoB":"1970-01-01","dateStarted":"0000-00-00","enabled":"0"}], "rowcount": 4}
1个回答

9

您的服务器是否返回了总记录数

如果是这样,请将模式定义为以下内容(假设total_size是服务器返回的总记录数):

schema   : {
    data: "data",
    total: "total_size",
    model: {
        ...
    }
}

如果没有,请尝试在您的模式(schema)中添加一个total函数,该函数从data数组的大小获取它:
schema   : {
    data: "data",
    total: function(data) {
        return data.data.length;
    },
    model: {
        ...
    }
}

嗯!它应该都修复了!如果您点击网格刷新按钮,它是否会被修复?接收到的数据是什么样子的? - OnaBai
我在我的博客中写了一些关于实现向服务器发送数据以及响应应该是什么样子的内容。 - OnaBai
那篇帖子是关于CouchBase和Java的。 - OnaBai
感谢您对total_size的帮助和回答。我发现是我的页面路由器丢失了查询字符串! - imperium2335
是的,您对限制的理解是正确的。您会得到类似于 { "take": 10, "skip": 0, "page": 1, "pageSize":10, } 的东西。重要的是 skip 指的是要检索的第一条记录(要跳过多少),而 take 指的是应该检索多少条记录。请查看此链接 - OnaBai
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接