【问题标题】:Combobox paging toolbar doesn't respond to page size组合框分页工具栏不响应页面大小
【发布时间】:2015-04-01 18:48:42
【问题描述】:

我在使用组合框从数据库中选择项目时遇到了一些问题。 由于加载了 100 多个项目,我使用组合框底部的分页工具栏。 现在,如果页面大小设置为 5 或 50,分页工具栏会根据页面大小显示 20 的第 1 页或 2 的第 1 页,但组合框会显示所有 100 个项目,并且只需将它们复制到下一页,就像根本没有设置页面大小一样。 我尝试了几件事,但似乎没有任何效果。 怎么了?

{
    xtype: 'combobox',          
    queryMode: 'local',
    valueField: 'id',
    fieldLabel: 'Description SKU',
    name: 'id_fk',
    pageSize: 5,                
    width: 400,
    padding: 5,
    store: Ext.create('Ext.data.Store',
            {
                fields: ['id','key item','description'],
                autoLoad: true, 
                pageSize: 5,                        
                proxy:
                {
                    type: 'ajax',
                    url: 'items/load',
                    reader:
                    {
                        type: 'json',
                        root: 'data'
                    }
                }
            }),
    tpl: Ext.create('Ext.XTemplate',
            '<tpl for=".">',
                '<div class="x-boundlist-item">{key item} - {description}</div>',
            '</tpl>'),

    displayTpl: Ext.create('Ext.XTemplate',
                            '<tpl for=".">',
                                '{key item} - {description}',
                            '</tpl>'
                            )
}

【问题讨论】:

    标签: extjs extjs4


    【解决方案1】:

    当请求加载存储时,它会传递一个值为 5 的 pageSize 查询参数。

    但是,返回结果时是否考虑此参数取决于您的服务器端服务。

    编辑:这是一个分页组合框的示例:http://docs.sencha.com/extjs/4.1.3/#!/example/form/forum-search.html

    如果您在 Web 开发控制台上打开网络选项卡,您将看到正在触发的请求,您可以查看查询参数。您可以根据需要发送其他人,但这对于基本寻呼应该绰绰有余。

    以下是发送的查询参数:

    limit - 由“pageSize”参数设置(默认为 25)

    start - 要返回的第一条记录(从 0 开始,使用工具栏上的 prev/next 按钮按 pageSize 递增)

    page - 我们所在的页面(从 1 开始,使用工具栏上的 prev/next 按钮递减/递增 1)

    查询 - 组合框中的文本。

    编辑 2: 您还应该在来自服务器的响应中返回一个“totalProperty”,其中包含结果总数。这将适当地更新工具栏(例如,您在第 x 页,共 y 页)。默认情况下,预期的 totalProperty 是“total”。当您查看提供的示例中的代码时,您可以看到这一点。

    【讨论】:

    • 我接受了限制并使用限制添加到 SQL 查询中以获取前 50 个项目。但是我怎样才能让 extJS 让我可以选择获取下 50 个项目?它在前 50 处停止,并且分页工具栏没有让我选择移动到下一页。
    • 我编辑了我的回复以讨论发送的其他查询参数并举例说明。希望这会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 2023-03-21
    • 2020-07-02
    • 1970-01-01
    • 2011-05-04
    • 2012-11-08
    • 2021-06-05
    相关资源
    最近更新 更多