2013-05-13 4 views
2

최신 jqgrid 번들 4.4.5를 사용 중입니다. 헤더 열을 워드 랩으로 만들고 싶습니다. Oleg answer을 읽었지만 최신 jqgrid에서 작동하지 않는 것 같습니다.Jqgrid 고정 열 워드 - 랩을 만드는 방법

방화 광에서 나타나는 오류 메시지는 "$ grid [0] ._ complete"는 정의되지 않았으며 열의 크기를 조정하면 "this.grid is undefined"오류가 발생합니다.

작동시키기위한 해결책이 있습니까?

을 수정하십시오. $ grid.jqGrid ('setFrozenColumns')를 변경 한 후; ~ $ grid.triggerHandler ("jqGridAfterGridComplete"); 이제 열의 크기를 조정하면 고정 된 div 열의 크기가 조정되지 않습니다.

참고 : 로컬 변수를 사용하여 "this.grid"를 변경합니다. var grid = this.grid || 이;

여기 이미지 link입니다.

답변

3

버전 4.3.2부터 jqGrid는 콜백 (이벤트 처리기)을 복수 등록 할 수있는 Events을 지원합니다. _complete과 같은 이전 내부 콜백이 제거되었습니다. 대신 라인의

$grid[0].p._complete.call($grid[0]); 

the demo 당신이 사용할 수있는 지금 업데이트]

$grid.triggerHandler("jqGridAfterGridComplete"); 

:있는 jqGrid의 현재 버전은 the line에 버그가 있습니다. ts 대신 this을 사용됩니다

if($.isFunction(p.resizeStop)) { p.resizeStop.call(this,nw,idx); } 

대신 jqGridResizeStop 이벤트

if($.isFunction(p.resizeStop)) { p.resizeStop.call(ts,nw,idx); } 

의 문제가 없습니다. 그래서 대신 사용하는 것이 좋습니다 :

$grid.bind("jqGridResizeStop", function() { 
    resizeColumnHeader.call(this); 
    fixPositionsOfFrozenDivs.call(this); 
    fixGboxHeight.call(this); 
}); 

the modified demo을 참조하십시오.

업데이트 2 : the bug report을 게시했습니다. the fix이 github의 jqGrid 메인 코드에 이미 적용되었음을 알려 드릴 수 있습니다.

게시 된 버전 4.5.0에는 수정 사항이 포함되어 있습니다.

+0

고맙습니다. 열의 크기를 조정할 때 약간의 버그가 있습니다. 고정 된 머리글 div도 크기가 조정되지 않습니다. – zenixgrace

+0

@zenixgrace : 천만에요! 나는 나의 대답을 업데이트했다. – Oleg

+0

큰 감사 Oleg. 너는 내 목숨을 구할거야. – zenixgrace