loadonce: true
옵션과 함께 datatype: "json"
을 사용하여 서버에서 데이터를로드한다고 가정합니다. jpGrid의 free jqGrid 포크를 사용하면 해결 방법이 매우 쉽습니다. 무료 jqGrid를 사용하면 서버의 데이터를 정렬하고 필터링 할 수 있습니다. 전에의 첫 번째 페이지가 표시됩니다. 하나는 필터를 적용하기 위해 필요한 필터, 그리고 옵션 search: true
에있는 jqGrid 및 postData.filters
으로 적용하는 작업을 강제로 forceClientSorting: true
을 추가해야합니다
$("#grid").jqGrid({
...
datatype: "json",
postData: {
// the filters property is the filter, which need be applied
// to the data loaded from the server
filters: JSON.stringify({
groupOp: "AND",
groups: [],
rules: [{field: "hasData", op: "eq", data: "true"}]
})
},
loadonce: true,
forceClientSorting: true,
search: true,
// to be able to use "hasData" property in the filter one has to
// include "hasData" column in colModel or in additionalProperties
additionalProperties: ["hasData"],
...
});
그것을 보여 데모
https://jsfiddle.net/OlegKi/epcz4ptq/을 참조하십시오. 이 데모에서는 JSFiddle의
Echo service을 사용하여 서버 응답을 시뮬레이트합니다.
를 사용 : 여기에 코드입니다. 필터가 적용될 때 필터는 존재하지 않는 것처럼 값 위로 날아갑니다. 최소한 나를 위해 filters.rules를 초기화하면 Filter.roups에 배치하여 쉽게 해결할 수있는 TypeError를 얻을 수 있습니다. – lynxidngo
@lynidngo : 현재 사용중인 jqGrid의 버전과 jqGrid의 포크는 어느 것입니까? 문제를 일으키는 코드는 어디에 있습니까? 미안 해요,하지만 난 내 대답에 민주당 https://jsfiddle.net/OlegKi/epcz4ptq/ 게시했습니다. 데모가 올바르게 작동합니까? 당신이 당신에게 몇 가지 문제가 있다고 쓰면, 당신은 당신의 코드로 나의 데모를 수정할 수 있고 그것을 저장하고 수정 된 버전의 URL을 게시 할 수 있습니다. – Oleg
"jqGrid 5.2.1"을 사용하고 있습니다. 데모는 잘 작동합니다. 코드 길이가 약 800 줄이기 때문에 코드를 붙여 넣을 때 얼마나 많은 의미가 있는지 모르겠습니다. – lynxidngo