무료 jqgrid는 다음을 사용하여 원격 json 데이터를 읽습니다.
$.jgrid.useJSON = true;
$.extend(true, $.jgrid.defaults, {
mtype: 'GET',
url: '@Html.Raw(Url.Action("Entity", "API",))'
} );
검색 창은
$.extend(true, $.jgrid.search, {
multipleSearch: true,
recreateFilter: true,
closeAfterSearch: true,
overlay: 0,
recreateForm: true
});
검색 버튼을 누르면 추악한 필터 쿼리 문자열 매개 변수가 다음과 같이 생성됩니다.
http://localhost:52216/admin/API/Entity/DoklstlG?search=true&nd=1448746804617&rows=20&page=1&sidx=customer&_sord=desc&filters=%7B%22groupOp%22%3A%22AND%22%2C%22rules%22%3A%5B%7B%22field%22%3A%22Klient_nimi%22%2C%22op%22%3A%22cn%22%2C%22data%22%3A%22a%22%7D%5D%7D
이 URL, 특히 OData 형식으로 생성 된 필터 절을 변경하는 방법은 무엇입니까? jqgrid OData 플러그인 위키 기사를 읽었지만 그러한 가능성을 찾지 못했습니다.
바로 사용할 수있는 솔루션을 제안 할 수는 없지만 요구 사항을 구현할 수있는 방법을 알려 드리겠습니다.
우선 답 을 읽어 보시길 권합니다 . OData의 서버 측 정렬 및 페이징을 사용하는 방법을 보여줍니다. 사용에 대한 하나 개의 필요 $top
, $skip
, $orderby
및 $inlinecount
세트 내부 될 수 URI 매개 변수 serializeGridData
. 같은 방식으로 필터링을 구현할 수 있습니다. filters
jqGrid에서 생성 한 매개 변수를 객체 로 변환 하고 모든 규칙을 구문 분석해야합니다. $filter
OData를 지원 하는 해당 매개 변수를 생성해야합니다 (예 : here 및 here ). 일반적인 구현은 그렇게 쉽지 않으며 사용하는 OData 구현의 정확한 버전에 따라 달라질 수 있음을 이해하는 것이 중요합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다