每次显示结果时,我都会尝试根据默认列标题对结果网格进行排序。我尝试给商店一个分拣机,当页面第一次加载时它工作正常。它按我希望的那样工作。但只有当我尝试单击网格中的不同列标题时才会出现问题。当我点击不同的标题时,它会根据特定的列值进行排序。如果我在此时单击搜索按钮而不重新加载页面,则会显示搜索结果并根据我之前选择的列进行排序。我希望根据默认列对其进行排序。问题是,每次单击搜索或重置按钮时,网格都会使用搜索结果刷新,但列标题不会刷新。因此,结果将根据我之前的选择进行排序。要解决此问题,我每次单击搜索或重置时都会尝试重新加载整个页面。有没有一种方法可以在每次单击搜索时刷新列标题以及搜索结果,以便根据默认列标题对结果进行排序。我能够为每个搜索刷新搜索结果和分页部分,但不能刷新列标题。任何解决方案......
...谢谢
答案 0 :(得分:2)
你没有提到的一件事是你是否真的想让用户按不同的列排序。
您可以使用sortable: false
在列定义中关闭此行为
http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.grid.column.Column-cfg-sortable
如果您想保持这种行为,您可以在每次加载时再次使用默认排序器替换排序器:
var myDefaultSorter=Ext.create('Ext.util.Sorter',{
property:"MyProperty",
direction:"ASC"
});
store.on('beforeload',function(store) {
store.sorters.clear();
store.sorters.add(myDefaultSorter);
}
答案 1 :(得分:0)
您是否尝试过store.sorters.clear()?