2014-12-09 4 views
0

나는 다음과 같은 정보가있는 jqGrid이 작동하지 않습니다. 나는 this 대답을 기반으로 loadonce:true$("#Table").setGridParam({datatype:'json', page:1}).trigger('reloadGrid');을 넣었습니다. 하지만 여전히 작동하지 않습니다. 어떤 생각?클라이언트 측 정렬

답변

0

현재 사용하고있는 loadComplete의 코드가 잘못되었습니다. 무응답 .trigger('reloadGrid')loadComplete 안에 절대로 사용하지 마십시오. 또한 다시로드하기 전에 datatype에서 'json'으로 설정하면 서버 에서 데이터를 다시로드하게되지만 정렬을 적용하려면 로컬을 다시로드해야합니다. 올바른 코드는 the anwer에서의 예처럼 될 것입니다 :

loadComplete: function() { 
    var $self = $(this); 
    if ($self.jqGrid("getGridParam", "datatype") === "json") { 
     setTimeout(function() { 
      $self.trigger("reloadGrid"); // Call to fix client-side sorting 
     }, 50); 
    } 
} 

코드는 서버에서 초기 로딩이 완료됩니다 한 번만 후 를 다시로드합니다.

+0

답변 해 주셔서 감사합니다. 코드 안에 넣었습니다. settimeout을 사용하면 gird가 올바르게로드되지 않습니다.로드는 항상 위에 있습니다. setTimeout을 제거하면 작동합니다 (로드가 나타나지 않음). 그러나 정렬을 클릭하면 그리드가 다시로드되지 않습니다. –

+0

@amandachaw : 아마도'colModel'에 몇 가지 추가 문제가있을 것입니다. ** 당신이 사용하는'colModel'과 입력 데이터의 예제 (1-2 줄의 데이터로 충분할 것입니다.)로 당신의 questing을 추가 할 수 있습니까? 어떤 데이터 형을 사용합니까? ** 구문 오류 'url :'u.json '이있는 행은 게시 된 코드에 포함되지 않은'datatype : "json"을 사용한다고 가정 할 수 있습니다. 디폴트'datatype : "xml"'을 사용한다면'loadComplete'을 테스트하여''($ self.jqGrid ("getGridParam", "datatype") === "xml") {'. – Oleg

+0

rowNum : 0, 나는 그것을 제거하고 코드가 작동합니다 :) 도움을 주셔서 대단히 감사합니다. 예, 데이터 유형은 json입니다. –

관련 문제