0

每次显示结果时,我都尝试根据默认列标题对结果网格进行排序。我试着给商店一个分拣机,当页面第一次加载时它工作得很好。它按我的意愿工作。但是只有当我尝试单击网格中的不同列标题时才会出现问题。当我单击不同的标题时,它会根据该特定列值进行排序。如果此时我单击搜索按钮而不重新加载页面,则会显示搜索结果并根据我之前选择的列进行排序。我希望根据默认列对其进行排序。问题是每次单击搜索或重置按钮时,搜索结果都会刷新网格,但列标题没有刷新。因此,结果将根据我之前的选择进行排序。为了解决这个问题,每次单击搜索或重置时,我都会尝试重新加载整个页面。有没有一种方法可以在每次单击搜索时刷新列标题以及搜索结果,以便根据默认列标题对结果进行排序。我可以刷新每次搜索的搜索结果和分页部分,但不能刷新列标题。任何解决方案...

谢谢....

4

2 回答 2

2

您没有提到的一件事是您是否真的希望允许用户按不同的列进行排序。

您可以使用http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.grid.column.Column-cfg-sortable在列定义中关闭此行为sortable: false

如果您想保持这种行为,您可以在每次加载时再次将分拣机替换为默认分拣机:

var myDefaultSorter=Ext.create('Ext.util.Sorter',{
    property:"MyProperty",
    direction:"ASC"
});

store.on('beforeload',function(store) {
    store.sorters.clear();
    store.sorters.add(myDefaultSorter);
}
于 2014-09-24T06:43:58.903 回答
0

您是否尝试过 store.sorters.clear() ?

于 2014-09-24T00:43:25.640 回答