javascript - 如何改变EXT的sortchange中的排序方向

标签 javascript extjs header extjs4 columnsorting

我正在使用 4.2 EXT ,并且我必须使用 sortchange 监听器来处理列排序,因为我的一些列通过渲染显示值。

所以我必须在 sortchange 中处理排序,当我单击标题中菜单上的排序图标(ASC/DESC)时,它工作得很好,但是当我单击标题进行排序时,排序方向总是显示“ASC”时间。

我想要的就是点击排序图标,点击标题就可以正常排序

我检查了我的代码,我没有使用“ASC”值设置任何默认排序。

我用fiddle做了一个例子,请访问她

点击here !

我发现如果我删除 grid.store.sort({ sorterFn : 排序日期, 方向: dir });将显示正确的方向,但我必须使用此方法进行排序

          var panel = Ext.create('Ext.grid.Panel', {
    id : "Panel",
    store : Ext.create('Ext.data.ArrayStore', {
        fields : fnDefineReqListData()
    }),
    columns : fnDefineReqListColumn()
    scroll : true,
    layout : 'fit',
    autoScroll : true,
    viewConfig : {
        stripeRows : false
    },
    disableSelection : true,
    listeners : {

        sortchange : function(thisGrid, sortinfo) {

            var grid = Ext.getCmp("Panel");
            /*
             * grid.store.sort(storeSorter); return;
             */
            var sorter = grid.store.sorters.getAt(0);
            var sort = sorter.property;
            var dir = sorter.direction;
             **// sorter.direction here always return ASC**

                 grid.store.sort({
                        sorterFn : sortingDate,
                        direction : dir
                    });

        }
});

最佳答案

手动排序时,您应该保留方向并切换它。它将解决该问题。

对于示例 fiddle ,我使用了 sessionStorage,如果您愿意,可以使用配置来存储方向并切换它。

sessionStorage.sortState = sessionStorage.sortState === 'ASC' ? 'DESC' : 'ASC';

grid.store.sort({
    sorterFn : sorting,
    direction : sessionStorage.sortState
});

您可以找到工作 fiddle here

关于javascript - 如何改变EXT的sortchange中的排序方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58003340/

相关文章:

javascript - 如何使用 jQuery UI 可拖动辅助函数通过添加的类显示重复图像

javascript - 从种子点生成特定半径内的随机地理坐标

extjs - 在 ExtJS 中处理用户和组

css - ExtJS 4 - 显示没有微调器图像的 LoadMask

header - 如何用 Lua 语言创建包含文件?

javascript - 使用 page.evaluate 传递参数

javascript - 如何实现类似于 Facebook 的面包屑导航?

twitter-bootstrap - 使用 bootstrap.js 从 extjs 应用程序文件夹外部加载 extjs

在单独的 .cpp 文件和 makefile 链接中在类外部定义的 c++ 函数

c - 在 C 中构建具有固定大小 header 的 UDP 数据报