【问题标题】:ExtJS Grid with Remote Buffered Store Fails to Render First Page具有远程缓冲存储的 ExtJS 网格无法呈现第一页
【发布时间】:2013-03-13 08:31:08
【问题描述】:

ExtJS 版本:4.1.0

我有一个带有远程缓冲存储的无限滚动网格,声明如下:

Ext.define('App.store.UserGridStore', {
    extend: 'Ext.data.Store',
    autoLoad: true,
    buffered: true,
    pageSize: 30,
    leadingBufferZone:60,
    trailingBufferZone:60,
    scrollToLoadBuffer:20,
    numFromEdge:20,
    clearOnPageLoad:false,

    isSortable: true,
    remoteSort: true,
    proxy: {
        type: 'ajax',
        url: 'Service/data',
        reader: {
            type: 'json',
            root: 'data',
            noCache: true,
            successProperty: 'success',
            totalProperty: 'total'
        }
    }
});

在有几页行的页面上,当用户一直向下滚动然后返回到第 1 页时,网格会重新呈现除第 1 页之外的所有页面(仅显示空白区域)。

商店似乎正确地向我的后端服务发起了查询,并且该服务返回了正确的数据。但是,数据不会在网格上呈现。

有解决这个问题的方法吗?谢谢。

【问题讨论】:

    标签: extjs extjs4


    【解决方案1】:

    在我将 pageSize 设置为更大的数字 (300) 后,这个问题就消失了。这可能是因为商店由于 pageSize (30) 太低而无法处理太多 AJAX 调用。

    【讨论】:

    • 请注意,缓冲存储适用于非常大的数据集。如果您请求的页面数量很少,那是不合适的。
    • 这是非常值得注意的——尽管缓冲网格无法处理一致的页面大小 这是 Ext JS 的失败
    猜你喜欢
    • 1970-01-01
    • 2013-05-08
    • 2014-02-20
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多