jqgrid의 열 너비가 해당 열의 내용에 따라 동적으로 변경되는 방법이 있습니까? 나는 shrinkToFit과 autoWidth를 사용했으나 그들 중 일부는 나를 위해 일하지 않았다. jqgrid 4.5.2를 사용합니다. 나는 다른 질문을 수색하고 읽었지만 그것들은 나를 위해 일하지 않았다. 어쩌면 그렇게 할 수있는 위젯이있을 것입니다. 당신이 나를 도와 주시면 고맙겠습니다.jqgrid 열 너비 자동
3
A
답변
-1
0
여기
내가 열 내용에 따라있는 jqGrid 열 폭을 구현하는 방법입니다. 이것을 gridComplete 이벤트에 추가하십시오.
$(this).parent().append('<span id="widthTest" />');
gridName = this.id;
$('#gbox_' + gridName + ' .ui-jqgrid-htable,#' + gridName).css('width', 'inherit');
$('#' + gridName).parent().css('width', 'inherit');
var columnNames = $("#" + gridName).jqGrid('getGridParam', 'colModel');
var thisWidth;
// Loop through Cols
for (var itm = 0, itmCount = columnNames.length; itm < itmCount; itm++) {
var curObj = $('[aria-describedby=' + gridName + '_' + columnNames[itm].name + ']');
var thisCell = $('#' + gridName + '_' + columnNames[itm].name + ' div');
$('#widthTest').html(thisCell.text()).css({
'font-family': thisCell.css('font-family'),
'font-size': thisCell.css('font-size'),
'font-weight': thisCell.css('font-weight')
});
var maxWidth = Width = $('#widthTest').width() + 24;
//var maxWidth = 0;
// Loop through Rows
for (var itm2 = 0, itm2Count = curObj.length; itm2 < itm2Count; itm2++) {
var thisCell = $(curObj[itm2]);
$('#widthTest').html(thisCell.html()).css({
'font-family': thisCell.css('font-family'),
'font-size': thisCell.css('font-size'),
'font-weight': thisCell.css('font-weight')
});
thisWidth = $('#widthTest').width();
if (thisWidth > maxWidth) maxWidth = thisWidth;
}
$('#' + gridName + ' .jqgfirstrow td:eq(' + itm + '), #' + gridName + '_' + columnNames[itm].name).width(maxWidth).css('min-width', maxWidth);
}
$('#widthTest').remove();
동작하는 예제 :이 도움이
희망,
폴
0
이것은 좋은 해결책이지만, 열 너비 때 다시 초기 폭으로 이동 - 크기. 이것은 수정 된 솔루션으로서 별도의 기능입니다. 한 번만 shrinkToFit의 False로 설정, 화재와 함께 작동하도록 설계 :
function setColumnWidths(gridName) {
if ($('#' + gridName).attr('columnsSet')=='true') return;
$('body').append('<span id="widthTest">WIDTHTEST</span>');
$('#gbox_' + gridName + ' .ui-jqgrid-htable,#' + gridName).css('width', 'inherit');
$('#' + gridName).parent().css('width', 'inherit');
var containerWidth=$('#' + gridName).width() - 20;
var columnNames = $("#" + gridName).jqGrid('getGridParam', 'colModel');
var thisWidth;
// Loop through Cols
for (var itm = 0, itmCount = columnNames.length; itm < itmCount; itm++) {
var curObj = $('[aria-describedby=' + gridName + '_' + columnNames[itm].name + ']');
var thisCell = $('#' + gridName + '_' + columnNames[itm].name + ' div');
$('#widthTest').html(thisCell.text()).css({
'font-family': thisCell.css('font-family'),
'font-size': thisCell.css('font-size'),
'font-weight': thisCell.css('font-weight')
});
var maxWidth = $('#widthTest').width() + 40;
//var maxWidth = 0;
// Loop through Rows
for (var itm2 = 0, itm2Count = curObj.length; itm2 < itm2Count; itm2++) {
var thisCell = $(curObj[itm2]);
$('#widthTest').html(thisCell.html()).css({
'font-family': thisCell.css('font-family'),
'font-size': thisCell.css('font-size'),
'font-weight': thisCell.css('font-weight')
});
thisWidth = $('#widthTest').width();
if (thisWidth > maxWidth) maxWidth = thisWidth;
}
if (maxWidth > containerWidth) maxWidth=containerWidth;
$("#" + gridName).jqGrid('setColProp','amount',{width: maxWidth});
var gw = $("#" + gridName).jqGrid('getGridParam','width');
$("#" + gridName).jqGrid('setGridWidth',gw,true);
$('#' + gridName + ' .jqgfirstrow td:eq(' + itm + '), #' + gridName + '_' + columnNames[itm].name).width(maxWidth).css('min-width', maxWidth);
}
$('#widthTest').remove();
$('#' + gridName).attr('columnsSet','true');
}
0
나는이 이전 여부를 대답하지만 아래 내가 하나를 작업하는 구현 해결책이 있는지 모르겠습니다. 백분율로 열 너비를 제공하고 모든 열의 합계가 100 %에 도달해야합니다. 하지만 런타임에 열을 추가/제거하는 방법을 잘 모르겠습니다.
나는 그것에 대해서도 연구 중이며 모두 업데이트 할 예정입니다. 테이블 레이아웃에 고정 : 자동차, 열 너비가 셀의 내용에 맞는
columns: [
{ text: 'CheckBox', datafield: 'ProjectSubstantialPOUADetailsID', width: '10%' },
{ text: 'Area/Phase Substantial', datafield: 'SubstantialPOUA', width: '30%' },
{ text: 'Type', datafield: 'SubstantialTypeName', width: '15%' },
{ text: 'Achieved', datafield: 'DateAchieved', width: '15%', cellsformat: 'd', formatter: "date", formatoptions: { srcformat: "ISO8601Long", newformat: "m/d/Y" } },
{ text: 'PL Final', datafield: 'DateFinal', width: '15%', cellsformat: 'd' },
{ text: 'Warranty?', datafield: 'Warranty', width: '15%', columntype: 'checkbox' }
]
감사 Rushi
관련 문제
- 1. JQGrid 열 자동 너비
- 2. 열 너비 jqgrid
- 3. Jqgrid 내용에 따른 열 너비
- 4. JQGrid - 확장 열 너비 설정
- 5. ListView 열 너비 자동
- 6. EPPlus의 자동 열 너비
- 7. jqGrid 열 자동 크기 조정
- 8. jqgrid 열 너비 모바일 방향 변경시
- 9. JQGrid 폼 편집 레이블/열 너비
- 10. Jqgrid 편집 가능한 열 너비 내용에 따라
- 11. ExtJS TreeGrid 자동 열 너비
- 12. JTable 열 너비 자동 조절
- 13. 3 열 레이아웃 자동 중간 열 너비
- 14. JqGrid, 너비 양식 수정
- 15. 행 1의 열 이름을 기준으로 자동 열 Excel 열 너비
- 16. jqGrid 너비/높이 jqGrid 추가/편집 패널
- 17. HTML 테이블, 고정 너비 자동 맞춤 열
- 18. ITextSharp 자동 맞춤 테이블 열 너비 최대
- 19. 2 행 데이터의 열 너비 자동 조정
- 20. gwt 2.4 DataGrid - 열 너비 자동 설정?
- 21. RDLC 보고서의 열 너비 자동 조절 방법
- 22. poi를 사용하여 열 너비 자동 조정
- 23. Flexigrid 용 자동 크기 열 너비
- 24. Perl을 사용하여 열 너비 자동 맞춤 기능
- 25. OpenXML : Excel의 자동 크기 열 너비
- 26. Ext JS 3 자동 너비 열 격자
- 27. 열 너비 조정 DBGrid
- 28. div (너비 : 자동) div (너비 : 자동)
- 29. CSS - 자동 div 너비
- 30. 열 머리글이있는 JqGrid 열 선택기
는 일부 진전 후, 나는 테이블 레이아웃을 변경하면 것을 발견했다. 하지만 그렇게하면 머리글이 더 이상 열과 정렬되지 않습니다. 가능한 경우 도와주세요. – Mark
나중에 참조 할 수 있도록 : http://stackoverflow.com/questions/2299441/jqgrid-column-auto-width – andale