NSS_07 extjs에서grid가 도구 모음에 있는 조회

2110 단어 ExtJs
부딪히는 모든 문제에 대해 나는 지나간 곡선을 기록하고 낮의 개발 과정을 최대한 회상하며 최대한 완전하게 함으로써 앞으로 이런 곡선을 피할 수 있도록 한다.
이 문제는 시스템에서 비교적 많이 응용되고 있다.gridpanel의 도구 모음에 두 개의 검색 상자, 패널 불러오기와 도구 모음 조회 단추 조회 기능이 있다.주로store의 filter 기능과 관련된다.
  • 클라이언트의 filter

  • stoerload 전에, 먼저 (매번 조회할 때마다 필터 항목에 조회 조건이 하나 더 많아서 조회가 잘못되었기 때문) 그리고stoer.filter[{property: '',value''},{}];,그리고 다시 저장하세요.loadPage(1, function(*,*,success){});리셋 함수에서success가false라고 판단할 때 불러오는 데 실패한 처리 방법
    이런 방법의 문제는 Filter가 데이터를 불러온 후에 클라이언트에서 다시 한 번 선별하는 것이다. 예를 들어 세 명의 사용자 a, a1,na, 조회 상자에 a를 입력하면 전체 세 개가 표시되지만 인터페이스에 두 개만 표시됩니다. na라는 사용자가 필터되었기 때문에 시작할 때 주의하지 않았고 이 문제에 오랫동안 지체되었다.
  • remoteFilter

  • 원격 필터는 테스트에서 클라이언트와 유일한 차이점은 데이터를 불러온 후에 클라이언트에서 다시 한 번 선택하지 않는다는 것이다.그러나 이런 방법의 문제는 필터 조건을 추가할 때마다 자동으로 서버에 가서 데이터를 얻고 리셋 함수가 없어 세션의 실효를 방지하지 못하기 때문에 이런 방법도 적용되지 않는다는 것이다
  • 클라이언트 filer

  • 이전의 경험에 의하면 해결 방법이 없을 때 항상 성실하게 문서를 보고 마침내 하나의 속성을 발견했다 기본값은true입니다. 데이터를 불러온 후 필터를 터치하여 실행합니다. 하하, 이 속성을false로 설정하면 클라이언트는 위의 문제가 없습니다. 정상적으로 사용할 수 있습니다.
     
     
    서버에서 제출된 filter 처리:
    public JsonResult ListUser(string filter, int start, int limit)
    
            {
    
                JavaScriptSerializer serialier = new JavaScriptSerializer();
    
                var json = serialier.Deserialize<List<FilterObj>>(filter);
    
    }

    와, 이렇게 해서 필터 문자열을 대상으로 해석했습니다. 필터 Obj는 두 명의 구성원이 있는 클래스입니다. 각각publicstringproperty {get;set;}public string value{get;set;}

    좋은 웹페이지 즐겨찾기