0

我在两个月前问过这个问题,但没有得到答案,甚至没有评论/回复。所以再发一次

我有一个具有排序功能的 ExtJs 网格。(ExtJS 2.3.0)

我按如下方式对列进行排序-

sort: function (colName, direction) {
       //
       // Some sort logic
       //
       this.fireEvent("datachanged", this);
}

这工作正常。列已成功排序。

现在我的网格上方有一个按钮,名为“删除排序”。单击此按钮后,我想删除应用的排序。

我试过了-

removeSort: function (colName, direction) {
    // some logic
    //
    store.sortInfo = null; // This will remove the sortinfo (working as expected)
    grid.saveState(); // Saves the sort state (working as expected)
    this.fireEvent("datachanged", this);
}

在上面的代码store.sortInfo = null;中删除了 sortinfo 并保存了状态。但是这里的“datachanged”没有触发。意味着,它不会刷新“删除排序”按钮上的网格。

我知道我可以使用reload()网格功能,但在这里我不想重新加载网格。我希望它应该像我对列进行排序一样立即刷新网格。

请提出解决方案。

4

1 回答 1

0

removeSort尽量不要使用关键字,this而是使用对 store 对象的直接引用,例如。store.fireEvent("datachanged", store );

于 2014-05-05T11:51:55.393 回答