无法使用 Ext JS 4 中的列标题对网格行进行排序

Unable to sort Grid rows using column headings in Ext JS 4

我在 Ext JS 中有一个现有的 Web 应用程序,我无法在其中按升序和降序进行排序。当我单击列标题时,可以选择排序,但数据实际上并没有排序,它似乎只是按相同的顺序刷新。

在Chrome的控制台中,我可以看到写了如下日志:

Request result: true

每次我尝试单击列标题 (例如名字) 时都会出现此消息,它会将我引导至“afterRequest”功能。

查看代码:

var grid = Ext.create('Ext.grid.Panel', {
        stateId: 'stateGrid',
        defaultSortable: true,
        enableColLock: true,
        enableCtxMenu: false,
        columns: [{
            text: 'Account No',
            width: 90,
            dataIndex: 'accountNum',
            sortable: true
        }, 

        // More column definitions here...

        }]
      }],

title: 'Accounts',
        height: 700,
        width: 1300,
        store: Ext.getStore('accounts.AccountsListStore'),
        renderTo: Ext.getBody(),
        viewConfig: {
            stripeRows: true
        }
    });

属性中包含每个列的 "sortable: true",以及 "defaultSortable: true"整个网格。

至于控制器,这里没有太多代码,除了调用服务器的函数,该函数请求 JSON 格式的相关帐户数据,并且是应该把它加载到商店。正如您在上面的屏幕截图中看到的,它似乎正在加载正确的数据。

我只使用了 Ext JS 4.0.7 2 天,之前没有 Javascript 知识,正确方向的观点将非常有用。谢谢。

我现在已经设法解决了这个问题。问题出在我的帐户商店中。 以下代码阻止排序正常工作。

buffered: true,
pageSize: 200,
remoteSort: true,
purgePageCount: 0

因为它实际上并没有计算任何东西,实际上只是从服务器检索数据,所以我关闭了 buffering/remote 排序。

我的代码现在看起来像这样,并且排序完美无缺:

buffered: false,
remoteSort: false

希望这对遇到同样问题的其他人有所帮助。