2011-08-31 8 views
2

내가있는 jqGrid의 setGridWidth 함수를 호출하기 위해 노력하고있어,하지만 오류를 받고 있어요 :있는 jqGrid - setGridWidth 기능

Object [object Object] has no method 'setGridWidth'

나는이 바보 같은 확신합니다. 다음은 눈금을 표시하고 크기를 조정하는 코드입니다.

$("#jqGridElement").jqGrid({ 
     datastr: tableSrc, 
     jsonReader: { repeatitems: false }, 
     datatype: "jsonstring", 
     colNames: ['title', 'subtitle'], 
     colModel: [ 
      { name: 'title', index: 'title', width: 55 }, 
      { name: 'subtitle', index: 'subtitle'}], 
     height: 'auto', 

     gridview: true 
    }); 

    $("#jqGridElement").setGridWidth(600);' 

나는 또한 시도했다

편집 :

var gridObj = $("#jqGridElement").jqGrid({ datastr: tableSrc, ....... 
gridObj.setGridWidth(300); 

같은 결과

답변

8

나는 내 마지막 데모에서했던 것처럼 당신이 $.jgrid.no_legacy_api = true;을 설정하는 것이 가정합니다.

jqGrid의 "표준"(레거시 API) 코드는 jQuery의 많은 메소드 확장을 설정합니다. 다른 많은 jQuery 플러그인을 사용하는 경우 위험합니다. 이름 충돌이 발생할 확률이 증가합니다. 따라서 "새로운 스타일"jqGrid API를 사용하는 것이 좋습니다. setGridWidth 방법의 경우는 일반 소형 발언을

$("#jqGridElement").jqGrid('setGridWidth', 600); 

대신

$("#jqGridElement").setGridWidth(600); 

하나를 사용한다 : 나는 당신이 정의하는 것이 좋습니다 gridObj

var gridObj = $("#jqGridElement"); 
gridObj.jqGrid({ datastr: tableSrc,... 

대신

var gridObj = $("#jqGridElement").jqGrid({ datastr: tableSrc,... 

이점은 값이 $("#jqGridElement").jqGrid 호출 전에 설정되고 어떤 jqGrid 이벤트 안에 안전 gridObj을 사용할 수 있다는 것입니다. 예를 들어 loadComplete 이벤트 내부에 gridObj 변수를 사용할 수 있습니다. 사용하는 것과 같은 방식으로 사용하는 경우 gridObj 변수는 이고 처음 사용시에는 loadComplete 이벤트입니다.

+0

귀하의 가정에 자리가있었습니다. 다시 한번 감사드립니다. –

+0

해트트릭을하고 싶다면 : http://stackoverflow.com/questions/7260786/jqgridreloading-data –

+0

그리고 gridObj 사용에 대한 귀하의 조언을 정말 좋아했습니다. 다시 한번 감사드립니다. –

관련 문제