[JQUERY] JQGRID에 API가 데이터를 게시하기 위해 고급 필터를 추가 할 수 있습니까?
JQUERYJQGRID에 API가 데이터를 게시하기 위해 고급 필터를 추가 할 수 있습니까?
해결법
-
1.필터
필터
filters:'{"groupOp":"AND","rules":[{"field":"invdate","op":"gt","data":"2007-09-06"},{"field":"invdate","op":"lt","data":"2007-10-04"},{"field":"name","op":"bw","data":"test"}]}'
질문에 포함 된 것은 JSON 버전의 객체로 직렬화되어 있습니다.
var myfilter = { groupOp: "AND", rules: [ { field: "invdate", op: "gt", data: "2007-09-06" }, { field: "invdate", op: "lt", data: "2007-10-04" }, { field: "name", op: "bw", data: "test" } ] }
이는 동적으로 구축 될 수있는 쉽게 구축 될 수 있습니다 :
// addPostDataFilters("AND"); var myfilter = { groupOp: "AND", rules: []}; // addFilteritem("invdate", "gt", "2007-09-06"); myfilter.rules.push({field:"invdate",op:"gt",data:"2007-09-06"}); // addFilteritem("invdate", "lt", "2007-10-04"); myfilter.rules.push({field:"invdate",op:"lt",data:"2007-10-04"}); // addFilteritem("name", "bw", "test"); myfilter.rules.push({field:"name",op:"bw",data:"test"}); // generate to top postdata filter code var grid = $("#list"); grid.jqGrid({ // all prarameters which you need search:true, // if you want to force the searching postData: { filters: JSON.stringify(myfilter)} });
그리드가 이미 존재하면 사용할 수있는 설정으로 그리드를 다시로드하려는 경우
grid[0].p.search = myfilter.rules.length>0; $.extend(grid[0].p.postData,{filters:JSON.stringify(myfilter)}); grid.trigger("reloadGrid",[{page:1}]);
대신에. 함수 JSON.Stringify는 가장 많은 웹 브라우저에서 기본적으로 지원되지만 확실합니다. 페이지에 json2.js를 포함해야합니다.
from https://stackoverflow.com/questions/5272850/is-there-an-api-in-jqgrid-to-add-advanced-filters-to-post-data by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] jQuery를 사용하여 페이지 새로 고침을 어떻게 감지합니까? (0) | 2020.10.30 |
---|---|
[JQUERY] event.originalevent jquery. (0) | 2020.10.30 |
[JQUERY] 값을 대체하도록 두 개의 배열을 병합하십시오 (0) | 2020.10.30 |
[JQUERY] jQuery FancyBox 2.0.3 - Close on FancyBox 외부에서 닫기 방지 (0) | 2020.10.30 |
[JQUERY] e.preventdefault ()의 차이점은 무엇입니까? 거짓을 반환 하시겠습니까? [복제] (0) | 2020.10.30 |