2014-09-18 36 views
0

我正在使用Extjs 4.2。我正在进行搜索,并将所有搜索结果传送到网格。每当我进行搜索时,我都希望一个特定列成为我的默认排序列,并按照升序对值进行排序。一旦我得到搜索结果,我可以选择一个不同的列标题,并对该列进行排序。当我重置页面或再次执行搜索时,我希望突出显示默认列标题,并根据该列值对值进行排序。现在,如果我点击一个列标题并再次搜索,那么相同的列标题会在新的搜索结果中突出显示。Extjs:如何设置网格列标题作为默认排序列

例如,假设我的网格中有3列。名字,姓氏和输入日期。每次页面加载或网格加载时或每次搜索后,我都希望“输入日期”列成为默认排序列标题。即使我选择FirstName标题并手动对该列进行排序,但如果再次执行搜索,我希望“输入日期”列标题能够突出显示和排序。 任何人都可以给我一个这个如何完成的想法吗?

回答

0

您应该在商店中添加属性分拣机。

例如,如果要排序的列 “enteredDate”:

Ext.define("MyApp.store.MyStore", extend : "Ext.data.Store", model : "", sorters : "enteredDate", ....); 
+0

我试过这个解决方案它在我第一次搜索时最初起作用。该列表将根据enteredDate进行排序。我点击不同的标题进行排序,当我再次搜索时,控件会保留在选定的标题上,而不是默认标题。有没有一种方法可以在每次我进行搜索而不刷新页面的情况下基于默认标题完成排序。 – user3546785 2014-09-19 23:42:50

1

或订单/动态过滤:

store.sort('height', 'ASC'); 

store.sorters.add(new Ext.util.Sorter({property : 'shoeSize', direction: 'ASC' })); 
store.sort(); 
相关问题