2010-07-14 2 views
4

IE/FF에 대한 모든 정렬이 올바른지 (테이블 폭 및 헤더/데이터 정렬) 보장하면서 jqGrid의 특정 열을 숨길 수 있습니까?열 숨기기 (헤더 및 행) post jqGrid render

데이터는 주요 리팩터링없이 백 엔드에서 제거 할 수 없습니다.

특정 열을 반복하여보고 그것이 모두 비어 있는지 확인하고, 그렇다면 해머 .remove()를 해당 열의 헤더와 셀에 시도했지만 정렬이 심각하게 진행됩니다 (setGridWidth가 여전히 삭제 된 열의 너비를 고려하여). jqGrid가 초기화 할 때 숨기기 옵션이 있다는 것을 알고 있지만 그 포스트 렌더링을위한 메소드가 있는지 확실하지 않습니다.

답변

6

jqGrid를 만든 후 열을 숨기거나 표시하는 데 hideColshowCol 메서드를 사용할 수 있습니다. hideCol 메서드는 jqGrid에서 데이터를 제거하지 않지만 지정된 열만 숨 깁니다. 자세한 내용은 http://www.trirand.com/jqgridwiki/doku.php?id=wiki:methods을 참조하십시오.

loadComplete 이벤트를 검사하는 것이 좋습니다. getDataIDs 메서드를 사용하여로드 된 데이터의 ID를 가져온 다음 getRowData을 사용하여 루프에서 행 데이터를 가져올 수 있습니다. 빈 데이터가 있는지 확인하십시오. 이전에 숨긴 모든 열에 대해 showCol으로 전화하는 것을 잊지 마십시오. 표시되어야하는 모든 열에 대해 항상 showCol으로 전화를 걸고 숨길 모든 열에 대해 hideCol을 호출 할 수 있습니다.

+0

화려한 솔루션 :) – bcm