2014-09-18 89 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();