2014-09-18 2 views
0

Extjs 4.2를 사용하고 있습니다. 검색을 수행하고 모든 검색 결과를 그리드로 가져옵니다. 검색을 수행 할 때마다 하나의 특정 열을 내 기본 정렬 열로 지정하고 값을 오름차순으로 정렬해야합니다. 검색 결과를 얻으면 다른 열 머리글을 선택하고 해당 열을 정렬 할 수 있습니다. 페이지를 다시 설정하거나 검색을 다시 수행하면 기본 열 머리글을 강조 표시하고 해당 열 값을 기준으로 값을 정렬합니다. 현재 열 머리글을 클릭하고 다시 검색하면 새로운 열 머리글이 새 검색 결과에서 강조 표시됩니다.Extjs : 모눈 열 머리글을 기본 정렬 열로 설정하는 방법

예를 들어, 그리드에 3 개의 열이 있다고 가정하십시오. 이름, 성 및 입력 한 날짜. 페이지가로드 될 때마다 또는 그리드가로드 될 때마다 또는 모든 검색 후에 입력 된 날짜 열을 기본 정렬 열 헤더로 지정합니다. FirstName 머리글을 선택하고 해당 열을 수동으로 정렬하더라도 검색을 다시 수행하면 입력 한 날짜 열 머리글을 강조 표시하고 정렬해야합니다. 누구나 내게이 일을 할 수있는 아이디어를 줄 수 있습니까?.

답변

0

저장소에 sorters 속성을 추가해야합니다. 예를 들어

, 당신이 열 "enteredDate"에 정렬 할 경우 :

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

내가이 솔루션을 시도 처음 검색 할 때 처음에는 작동합니다. 목록은 enteredDate를 기준으로 정렬됩니다. 정렬 목적으로 다른 머리글을 클릭하고 검색을 다시 수행하면 컨트롤이 기본 머리글이 아닌 선택한 머리글에 남아 있습니다. 페이지를 새로 고치지 않고 검색 할 때마다 기본 머리글을 기반으로 정렬이 수행되는 방법이 있습니까? – user3546785

1

또는 동적으로 주문/필터 :

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

또는

store.sorters.add(new Ext.util.Sorter({property : 'shoeSize', direction: 'ASC' })); 
store.sort(); 
관련 문제