Autocomplete KendoUI自动完成分页问题

Autocomplete KendoUI自动完成分页问题,autocomplete,kendo-ui,Autocomplete,Kendo Ui,我有一个绑定到KendoUI自动完成小部件的文本框。JS代码如下所示: var dataSourceImeSearch = { type: "json", transport: { read: { url: "@Url.Action("ImeSearch")", contentType: "application/json

我有一个绑定到KendoUI自动完成小部件的文本框。JS代码如下所示:

        var dataSourceImeSearch = {
            type: "json",
            transport: {
                read: {
                    url: "@Url.Action("ImeSearch")",
                    contentType: "application/json; charset=utf-8",
                    type: "POST"
                },
                parameterMap: function (data, type) {
                    if (type == "read") {

                        if (data.filter) {
                            data = $.extend({ sort: null, filter: data.filter.filters[0] }, data);
                        } else {
                            data = $.extend({ sort: null, filter: null }, data);
                        }

                        return JSON.stringify(data);
                    } else {
                        return JSON.stringify({ model: data });
                    }
                }
            },
            batch: false,
            pageSize: 10,
            serverPaging: true,
            serverFiltering: true,
            serverSorting: true,
            schema: {
                errors: "Errors",
                data: "Data",
                total: "TotalRecordCount",
                model: myModel
            },
            error: function (e) {
                if (e.errors) {
                    alert(e.errors);
                }
            }
        };

        $("#Ime").kendoAutoComplete({
            dataTextField: "PunoIme",
            filter: "contains",
            minLength: 3,
            dataSource: dataSourceImeSearch
        });
我在这里经历了一件奇怪的事情。Autocomplete的工作原理是,当我输入第三个字符时,它会运行到服务器,从那里获取JSON数据,并显示前十个结果。问题是,这个文本框正在搜索大型数据集,因此对于一些具有4个字符的查询,结果集可能超过1000个项目。由于某些原因,小部件没有发现有10个以上的结果,当我在显示的自动完成下拉列表中向下滚动时,它不会启动任何第二个页面的搜索,以此类推。您可以看到数据源的
serverPaging
设置为
true
,但这没有帮助


感谢您的帮助。谢谢。

您已经设置了pageSize:10,这意味着只有10条记录返回到AutoComplete,其数据源仅包含10个元素,我担心默认情况下不会实现自动分页

发布此问题后,我发现AutoComplete小部件不允许按设计分页。一些剑道员工在剑道论坛上解释说,这是一个糟糕的用户体验示例(如果您有需要分页的自动完成功能)。我会说,因为在我看来,自动完成的第一个用例是在搜索一个人的情况下,在这里我正是这么做的。唯一的问题是,如果你按某人的第二个名字搜索,在前3或4个字符之后,你可能会得到数百个结果,你真的需要分页。如果剑道人认为这是一个糟糕的用户体验案例,这应该在自动完成文档中清楚地提到,我真的找不到任何地方提到它,有人会认为,向人们提及这样的事情可能是一个好主意,这样他们就不必浪费一整天的时间来找出哪里出了问题

在我看来,KendoUI web演示页面上所有演示中最糟糕的用例示例之一就是这样一个示例,如果在顶部的“自动完成”文本框中键入“ch”,则在“自动完成”中会有10个结果,但在下面的datagrid中会有14个结果。剑道中没有人认为这种行为很奇怪,这真让我觉得很愚蠢


所以我对我自己的问题的回答是:不要使用自动完成,除非在一些非常简单的用例中(我真的想不出一个有意义的用例)。我最终制作了一个包含5个文本框和搜索按钮的完整搜索表单,以防我希望能够使用2个文本框(一个带有自动完成功能)和一个搜索按钮

我同意,在某些情况下,您可能希望在列表底部有一个“显示更多结果”选项。不管是好的用户体验还是不好的用户体验都是一个意见问题,剑道基于他们的意见忽略对它的支持似乎有点傲慢。您可以选择Select2,它确实支持人们所说的“无限滚动”