[JQUERY] 데이터가로드 된 후 어떻게있는 jqGrid의 열 너비를 조정하려면?
JQUERY데이터가로드 된 후 어떻게있는 jqGrid의 열 너비를 조정하려면?
해결법
-
1.귀하의 질문에 짧은 대답은 같을 수있는 jqGrid 그리드를 만든 후 변경 열 너비 할 수있는 방법을 제공합니다. 이러한 경우에 나는 코즈 마 Prutkov의 잘 알려진 경구 생각 나게 : "당신이 화약 방수 발명 방지". 그것은 다음에 대해 의미가없는 어떤 존재하면 아직 발명 할 수있다. 나는 크기 조정 그리드의 컬럼 내부 방법 dragEnd를 호출하는 제안이 질문에 대해 제안 된 솔루션을 기반으로 같은 방법을 썼다 그래서.
귀하의 질문에 짧은 대답은 같을 수있는 jqGrid 그리드를 만든 후 변경 열 너비 할 수있는 방법을 제공합니다. 이러한 경우에 나는 코즈 마 Prutkov의 잘 알려진 경구 생각 나게 : "당신이 화약 방수 발명 방지". 그것은 다음에 대해 의미가없는 어떤 존재하면 아직 발명 할 수있다. 나는 크기 조정 그리드의 컬럼 내부 방법 dragEnd를 호출하는 제안이 질문에 대해 제안 된 솔루션을 기반으로 같은 방법을 썼다 그래서.
데모는 새로운 방법의 사용을 보여줍니다. 데모는 사용자가 지정한 새로운 값으로 폭을 변경 한 후 그리드의 일부 열을 선택 할 수 있습니다 :
아래 찾을 수있는 새로운 방법의 코드
$.jgrid.extend({ setColWidth: function (iCol, newWidth, adjustGridWidth) { return this.each(function () { var $self = $(this), grid = this.grid, p = this.p, colName, colModel = p.colModel, i, nCol; if (typeof iCol === "string") { // the first parametrer is column name instead of index colName = iCol; for (i = 0, nCol = colModel.length; i < nCol; i++) { if (colModel[i].name === colName) { iCol = i; break; } } if (i >= nCol) { return; // error: non-existing column name specified as the first parameter } } else if (typeof iCol !== "number") { return; // error: wrong parameters } grid.resizing = { idx: iCol }; grid.headers[iCol].newWidth = newWidth; grid.newWidth = p.tblwidth + newWidth - grid.headers[iCol].width; grid.dragEnd(); // adjust column width if (adjustGridWidth !== false) { $self.jqGrid("setGridWidth", grid.newWidth, false); // adjust grid width too } }); } });
당신은 당신의 프로젝트의 방법을 포함하고 setColWidth 방법을 사용할 수 있습니다. 상기 방법의 첫 번째 파라미터는 열 인덱스 또는 열 이름 중입니다. 두번째 매개 변수는 컬럼의 폭에 새로운 값을 지정할 수있다. 세 번째 매개 변수는 선택 사항입니다. 그것은이 지정되어 있지 않은 경우 그리드의 폭은 자동으로 열 너비의 변화에 대응을 조정됩니다. 이 열 너비를 변경하기 전에하지 않은 경우 그리드에는 스크롤 막대가 없습니다 그래서. 당신은 당신이 setColWidth 방법의 세 번째 매개 변수로 false를 지정해야합니다 폭 원래의 그리드를 개최합니다.
업데이트 : setColWidth의 최신 (업데이트) 버전은 GitHub의에서 다운로드 할 수 있습니다. 현재 여기에 개발하고있는 jqGrid의 새로운 무료 버전은있는 jqGrid의 기초 모듈 등의 방법을 포함한다. 여기에 다음에서 jquery.jqGrid.min.js, jquery.jqGrid.min.map 및 jquery.jqGrid.src.js를 사용하는 경우 그래서 당신은 플러그인으로 setColWidth와 jQuery.jqGrid.autoWidthColumns.js을 포함 할 필요가 없습니다.
2 업데이트 : 나는 대응에 내가 GitHub의에 게시 setColWidth의 최신 버전을 위의 코드를 수정했습니다.
(3) 업데이트 : 메소드 setColWidth가없는있는 jqGrid 포크있는 jqGrid의 I 2014 년 말 이래로 열의 내용의 폭에 기초하여 상기 컬럼의 폭을 연장하는 등 많은 새로운 기능이 개발 한 포함된다. 자세한 내용은 위키 문서를 참조하십시오.
from https://stackoverflow.com/questions/20012365/how-to-adjust-the-column-width-of-jqgrid-after-the-data-is-loaded by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 오버 플로우는 사용자가 스크롤 맨 아래까지 스크롤 DIV하지 않는 한 계속 (0) | 2020.10.23 |
---|---|
[JQUERY] JQuery와 모바일 / 폰갭를 함께 사용의 올바른 방법은? (0) | 2020.10.23 |
[JQUERY] 대신 토글`어떻게 사용하는 (...)`> 1.8 jQuery를에? (0) | 2020.10.23 |
[JQUERY] 구글 reCAPTCHA를 어떻게 요구하려면? (0) | 2020.10.23 |
[JQUERY] jQuery를 UI "$ ("#의 날짜 선택기 "). 날짜 선택기 기능은 아니다" (0) | 2020.10.23 |