자바 웹 개발 에 적합 한 GridFilters 구축

extjs 자체 가 가지 고 있 는 GridFilters 는 기본적으로 phop 배경 에 사 용 됩 니 다. 자바 언어의 배경 에 사용 하려 면 이 js 를 개조 해 야 합 니 다 [js: ext - 3.3.1\examples\ux\gridfilters\\GridFilters. js]
이 js 의 두 가지 방법 을 주로 수정 합 니 다: buildQuery: function (filers) 과 cleanParams: function (p)
    buildQuery : function (filters) {
			var p = {};
			var s = [];//         filter
			for(var i=0, len=filters.length; i<len; i++){
				var f = filters[i]; // f = {dataIndex, data, ....};
				//alert(JSON.stringify(f));
				if(f.data['comparison']!=null) {
					if(!p[f.field]) {
						p[ f.field ] = '';
					}
					p[f.field] += f.data['comparison'] + '@' + f.data['value'] +',';
				}else {
					p[f.field] = f.data['value'];
				}
				s.push(f.field);
			}
			p["buildQuery_gridFilterList"] = s.join(",");
			return p;
    },
    cleanParams : function (p) {
		//alert(JSON.stringify(p));
    	var s = p["buildQuery_gridFilterList"] || "" ;
    	var k = s.split(",");
		for(var i=0, len=k.length; i<len; i++){
			var f = k[i];
			delete p[f];
		}
    },

firebug 디 버 깅 을 사용 하면 인자 가 자동 으로 "key = value"형식 으로 url 요청 에 추가 되 는 것 을 볼 수 있 습 니 다.
grid 가 PagingToolbar 를 지정 하면 PagingToolbar 에 plugins: filers (여기 서 정 의 된 filers 대상 변수 이름) 를 추가 해 야 매개 변수 조건 을 가지 고 정상적으로 페이지 를 넘 길 수 있 습 니 다. 그렇지 않 으 면 페이지 를 넘 기 는 조회 에 오류 가 발생 할 수 있 습 니 다. 만약 에 2 페이지 에 있 을 때 갑자기 조회 조건 을 바 꾸 어 데 이 터 를 조회 하면 데 이 터 를 찾 을 수 없습니다.(사실은 데이터 가 있 습 니 다) 페이지 구성 요소 의 start 값 이 0 으로 올 바 르 게 복원 되 지 않 아서 시스템 이 두 번 째 페이지 의 데 이 터 를 직접 가 져 옵 니 다. 만약 에 조회 한 데이터 가 한 페이지 만 있다 면 당연히 결과 가 나타 나 지 않 습 니 다)

좋은 웹페이지 즐겨찾기