0

我有一个包含特定月份特定记录的数据源。它连接到列表视图。是否可以结合无休止的滚动、服务器分页和分组来按月显示记录……每个月只有一个组标题?

目前,当数据源检索下一页时,它将添加一个组头,而不管该组头是否已经显示在前一页上。

我能想到的唯一解决方案是将页面大小更改为动态的,其中每个页面代表一个月的记录......尽管这感觉不是一个干净的解决方案。

我目前正在使用 JQuery 1.9.1 和 Kendo Q1 2013 版本。

4

1 回答 1

0

对于任何想要这样做的人来说,目前不可能开箱即用。我想出了一种方法,通过删除任何重复的分组标题然后合并重复的容器来使事情正常进行。使用以下代码绑定到数据源的更改事件:

                setTimeout(function () {
                    var headerMap = {};

                    $($("#listview .km-group-title .km-text").get().reverse()).each(function () {
                        var targetText = $(this).text();

                        if (headerMap[targetText] == null) {
                            headerMap[targetText] = true;
                        } else {
                            // merge any list items from the duplicate container into the next proceeding group container
                            $(this).parent().next("ul").children().prependTo($(this).closest("li").next("li").find("ul"));
                            // remove the (now empty) duplicate container
                            $(this).closest("li").remove();
                        }
                    });
                }, 0);

应该完成任务!希望这可以帮助任何试图一起执行分组、服务器分页和无休止滚动的人。

于 2013-04-30T18:54:28.193 回答