【问题标题】:Extjs4- Giving a default sort for a column after grid is loadedExtjs4-在加载网格后为列提供默认排序
【发布时间】:2014-03-27 14:50:02
【问题描述】:

网格加载数据后,如果我们尝试对任何列进行排序,默认方向是升序。我们是否可以为网格列定义默认排序,以便在加载网格后,如果我单击该列,它应该首先按降序排序。我不想在加载时按该方向对该列进行排序。这应该在网格加载了值之后发生。我正在使用远程排序。因此,每当加载网格时,我都会清除所有排序器,这样它就不会记住以前的排序。我尝试在服务器端动态添加排序器,但这会导致网格在加载时使用该属性和方向进行排序我不想要。 我尝试使用 sortInfo,它不起作用。

立即需要,如果有人能回答这个问题,将非常感激。非常感谢。

【问题讨论】:

    标签: extjs extjs4 extjs4.1 extjs4.2 gridview-sorting


    【解决方案1】:

    尝试将sorters 添加到您的store

    Ext.define('SuggestedOrders.store.SODetails',
    {
        extend: 'Ext.data.Store',
        // some more of your code
        sorters:
        {
            field: 'column you need to sort by',
            direction: 'DESC'
        }
    });
    

    附录:

    您需要删除remoteSort: true 选项。设置后,您将无法单击列/属性标题来更改其排序方向。不带它试试,让我知道;)

    【讨论】:

    • 嘿,我试过了,但它不起作用,因为在服务器端,在创建窗口时分拣器正在被删除。我尝试动态添加,但这导致网格在加载时已经按该方向排序,这是我不想要的。您是否知道我可以为特定列设置默认排序的任何其他方法。所以,我想在加载网格时,当我点击任何列时,一些列按升序排序,一些列按降序排序。
    • 已编辑,看看。如果您想手动单击列标题并更改其排序方向,则不应使用remoteSort: true\
    • 不,我不能这样做,因为它正在服务器端进行排序。您是否知道一旦加载网格,它应该使用降序作为其默认排序方向。
    • 有什么意义,我不明白你的意见。只需让您的 PHPDESC 或 oreder 回复您。为什么要在服务器端进行排序,然后在加载商店后再次使用 DESC onrder?
    • 不,我不希望网格在加载时按降序排序,我希望它被加载,即页面被刷新,现在用新值打开网格,现在在任何时候,如果我第一次单击此列,它应该按降序排序,而不是默认的升序。所以我尝试在本专栏的模型中使用 sortDir,我尝试在商店中使用排序器,没有任何效果。
    猜你喜欢
    • 2011-09-07
    • 1970-01-01
    • 2012-06-01
    • 2019-12-31
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    • 2012-03-13
    • 1970-01-01
    相关资源
    最近更新 更多