2012-01-28 2 views
0

jqgrid는 서버의 재고 상태를 표시하는 데 사용됩니다. 데이터는 url 매개 변수의 컨트롤러를 사용하여 json 형식으로 검색됩니다.jqgrid에서 데이터 검색을 비활성화하는 방법

url: 'Grid/GetData' 

데이터 가져 오기 (심지어 0 행)에는 약간의 시간이 걸립니다. 이로 인해 페이지로드가 현저하게 지연됩니다.

초기 jqgrid로드시 GetData 컨트롤러 호출을 해제하는 방법은 무엇입니까? 초기로드시 행이없는 빈 그리드가 나타납니다. 이러한 명령이 사용자에 의해 발행되는 경우

데이터를 검색해야합니다

  • 검색 기준은
  • 이 검색 도구 모음에서 Enter 키를 누를있는 jqGrid 도구 모음에서
  • 새로 고침 버튼을 누르면 입력됩니다.

답변

2

처음에는 datatype: 'local'을 사용해야합니다. 서버에서 데이터를로드하려면 setGridParam 메서드를 사용하여 datatype을 'json'으로 변경하고 reloadGrid을 트리거해야합니다.

마스터/세부 그리드와 같은 많은 시나리오에서 나는 그 길을 사용합니다. 처음에는 자세한 격자가 datatype: 'local'입니다. 마스터 그리드에서 행이 선택되면 상세한 그리드에 대해 datatype을 'json'으로 설정하고 다시로드하십시오. 세부 그리드의 postData에서는 마스터 그리드에서 선택한 행의 ID가 사용됩니다.

+0

감사합니다. '$ grid.setGridParam ({datatype : 'json'})이라는 loadComplete에 'local'과 'local'이라는 데이터 유형을 추가했습니다. 다음 명령이 실행되면 정상 데이터로드가 가능해 보입니다. 나는 이것이 어떤 부작용도 야기하지 않기를 바란다. – Andrus

+0

@Andrus : 너는 환영합니다! 제 생각에는'loadComplete' 내부에'$ (this) .jqGrid ('setGridParam', {datatype : 'json'});을 사용할 수 있다고 생각합니다. 나중에 .trigger ('reloadGrid')를 호출하거나 사용자가 정렬, 페이징 등을 클릭하면 그리드가 서버에서 처음으로 다시로드됩니다. – Oleg

+0

고맙습니다. Site.Master는'$ .jgrid.no_legacy_api = true'를 포함합니다. 왜 내 전화 did'nt 원인 오류? loadComplete 메서드 처리기는 포함 된 .js 파일에 정의 된 loadcomplete 양식에 정의되어 있습니다. 이 경우 $ (this)가 작동하지 않고'$ grid.jqGrid ('setGridParam', {datatype : 'json'})로 변경했습니다. – Andrus

관련 문제