2014-04-06 2 views
0

기본 격자가 있으며 열에 일부 필터를 추가했습니다. 그들 중 일부는 저장격자 필터가 매개 변수 값을 제출하지 않음

constructor: function(config) { 
     Ext.apply(this, { 
      features : [{ 
       ftype: 'filters', 
       encode: true, 
       local: false, 
       filters: [{ 
        type: 'string', 
        dataIndex: 'name' 
       },{ 
        type: 'string', 
        dataIndex: 'priority' 
       },{ 
        type: 'list', 
        store: Ext.getStore('adminCategory'), 
        dataIndex: 'adminOrg', 
        labelField: 'displayName' 
       },{ 
        type: 'list', 
        store: Ext.getStore('adminClientList'), 
        dataIndex: 'client', 
        labelField: 'name', 
        listeners: { 
         activate: function(obj, eOpts) { 
          console.log(obj); 
         } 
        } 
       }] 
      }] 
     }); 
     this.callParent(arguments); 

잘 메뉴 항목로드, 필터, 활성화하고 저장소를로드하기 시작할 때 그러나, 필터 PARAMS가 존재하지 않습니다를 사용하기 때문에 그래서, 그래서 같은 생성자를 추가 그들은 서버에 제출되지 않습니다.

상점에서 beforeload 이벤트를 확인하고 filters 배열이 비어 있습니다 (모든 정렬기 정보가 저장된 작업 개체에서도).

답변

1

filtersfeature은 기본 필터와 동일한 위치에 필터 정보를 저장하지 않습니다. 왜 그런지는 모르지만 그렇지 않습니다. 동일한 개체에서 filterssorters 배열을 찾은 경우 params 속성을 보면 filter이라는 params에 속성이 있어야합니다. 필터가 포함됩니다. 기본적으로 모든 필터는 json 문자열로 인코딩되므로 배열로 사용하려면 Ext.decode을 사용해야합니다.

+0

그래, 그게 문제 야. 나는'params' 속성도 확인했다. 필터는 없습니다. 여기있어. 이 버전 4.2.1의 새 버그인지 궁금합니다 : params : Object limit : 25 페이지 : 1 sort : "[{"속성 ":"우선 순위 ","방향 ":"ASC "}]" start : 0' – Nathan

+0

4.2.1 관련 코드는 4.2와 같습니다. 서버 호출이 수행 될 때 필터가 활성화되어 있습니까? – forgivenson

+0

아마도 서버로 전송 중입니다. 가게에서'beforeload' 이벤트를 확인하고 있다고하셨습니까? 'FiltersFeature'에 그 이벤트를위한 핸들러가 있습니다. 그리고 그것은 필터 데이터가 채워지는 때입니다.'FiltersFeature'에서'onBeforeLoad' 메쏘드가 호출되기 전에 당신은 그것을 잡을 것입니까? 소스는 btw입니다. ExtJS 문서에서 액세스 할 수 있습니다. http://docs.sencha.com/extjs/4.2.1/source/FiltersFeature.html#Ext-ux-grid-FiltersFeature – forgivenson

관련 문제