2012-08-31 1 views

답변

1

4.1, no.

제공자 프록시를 덮어 써야합니다. 현재는 속성 - 값 쌍만 제출됩니다 (responsible function). 다른 점은 Ext.util.Filter이 remotesort에 대한 비교기를 전혀 지원하지 않는다는 것입니다. 따라서 직접 구현해야하며 저장소가 로컬 필터링을 지원하지 않아야합니다 (작동하지 않는 원인).

워크 래 라운드로 값을 인코딩 된 문자열로 커밋하고 서버 측에서 빼낼 수 있습니다. 이렇게하면 로컬 필터가 결과를 얻지 못하게됩니다.

+0

유용한 기능이지만 실망이 아직 extjs라는 :(하지만, THX에 의해 구현되지 않는다는 – Manuel

+0

@ Manuel 구현이 그렇게 복잡한 것은 아닙니다 ... 위에서 언급 한 메서드를 재정의하고 새로운 함수가 정의 된 경우 필터를 하나의 값으로 확장해야합니다. 정의되지 않은 경우 건너 뜁니다. – sra

0

나는 보통이처럼 Ext.data.proxy.Server를 오버라이드 (override) :!

// ext store remote filter missing operator fix 
 
Ext.override(Ext.data.proxy.Server, {encodeFilters: function(filters) { 
 
    var min = [], 
 
     length = filters.length, 
 
     i = 0; 
 

 
    for (; i < length; i++) { 
 
     if(filters[i].property && filters[i].value){ 
 
      min[i] = { 
 
       operator: filters[i].operator, 
 
       property: filters[i].property, 
 
       value : filters[i].value 
 
      }; 
 
     } 
 
    } 
 
    return this.applyEncoding(min); 
 
}});