Sencha Touch 2.0 List Paging插件在一个列表上工作,而不是另一个列表

时间:2012-10-31 05:04:49

标签: sencha-touch extjs

我在两个单独的选项卡中有两个列表,它们都连接到服务器端数据库。我正在尝试设置列表分页,并在其中一个列表上完全按照应有的方式运行。对于其他列表,模型和商店具有与正确页面列表相同的设置,但没有“加载更多...”文本显示在此列表的底部。

关于列表分页插件,两个列表基本上完全相同(即存储,模型,'列表'视图),但在一个上,分页不起作用。有没有人知道可能导致这种情况的原因是什么?

使用更多信息进行编辑:

我正在使用Chrome进行开发。看看网络我似乎正在获得看起来正确的JSON,对于那个没有工作的它返回8条记录,返回的总属性是13(这是有意义的,因为我的页面大小设置为8)。 / p>

无法使用的商店列表

    Ext.define("IdeaBank.store.SharedProblems", {
extend: "Ext.data.Store",
required: "IdeaBank.model.SharedProblem",
config: {
    model: "IdeaBank.model.SharedProblem",
    clearOnPageLoad: false,
    pageSize: 8,
    proxy: {
        type: 'ajax',
        api: {
            create:      "http://mywebsite.com/submitProblem.php?action=create",
            read: "http://mywebsite.com/submitProblem.php?action=read",
            update: "http://mywebsite.com/submitProblem.php?action=update",
            destroy: "http://mywebsite.com/submitProblem.php?action=delete",
        },
        reader: {
            type: 'json',
            rootProperty: "problems",
            totalProperty: "total",
        }
    },
    autoLoad: true
}
 });

有效的商家列表

Ext.define("IdeaBank.store.SharedSolutions", {
extend: "Ext.data.Store",
required: "IdeaBank.model.SharedSolution",
config: {
    model: "IdeaBank.model.SharedSolution",
    clearOnPageLoad: false,
    proxy: {
        type: 'ajax',
        api: {
            create: "http://mywebsite.com/submitSolution.php?action=create",
            read: "http://mywebsite.com/submitSolution.php?action=read",
            update: "http://mywebsite.com/submitSolution.php?action=update",
            destroy: "http://mywebsite.com/submitSolution.php?action=delete",
        },
        reader: {
            type: 'json',
            rootProperty: "solutions",
            totalProperty: "total",
        }
    },
    pageSize: 8,
    autoLoad: true
}
});

列出不起作用的视图

Ext.define("IdeaBank.view.SharedProblemsList", {
extend: 'Ext.dataview.List',
alias: 'widget.sharedproblemslist',
requires: ['Ext.plugin.ListPaging'],
config: {
    autoLoad: true,
    plugins: [
        {
            xclass: 'Ext.plugin.ListPaging',
            autoPaging: true

        }
    ],
    loadingText: "Loading...",
    emptyText: [
                "</pre><div class='notes-list-empty-text'  style = 'padding: 2em;'>",
                "<p>There are no problems listed for the category you have selected.</p>",
                "</div><pre>"
                ].join(""),
    onItemDisclosure: true,
    itemTpl: [
            "</pre>",
                "<div class = 'list-item-title'><span style = 'margin-right: 5px; color: #25E014; font-size: 0.7em;'>{rating}</span> {problem}</div>",
            "<pre>"
            ].join(""),
}

});

列出可以正常工作的视图

Ext.define("IdeaBank.view.SharedSolutionsList", {
extend: 'Ext.dataview.List',
alias: 'widget.sharedsolutionslist',
requires: ['Ext.plugin.ListPaging'],
config: {
    autoLoad: true,
    plugins: [
        {
            xclass: 'Ext.plugin.ListPaging',
            autoPaging: true
        }
    ],
    loadingText: "Loading...",
    emptyText: [
                "</pre><div class='notes-list-empty-text'  style = 'padding: 2em;'>",
                "<p>There are no published solutions for the category you have selected.<p>",
                "</div><pre>"
                ].join(""),
    onItemDisclosure: true,
    itemTpl: [
            "</pre>",
                "<div class = 'list-item-title'><span style = 'margin-right: 5px; color: #25E014; font-size: 0.7em;'>{rating}</span> {title}</div>",
            "<pre>"
            ].join(""),
}

});

1 个答案:

答案 0 :(得分:0)

确保在服务器端代码中实现分页逻辑。您必须提供逐页发送的功能。也许“submitSolution.php”不会部分发送数据。