JQGrid - 动态更改列的宽度
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JQGrid - 动态更改列的宽度相关的知识,希望对你有一定的参考价值。
据我所知,jqgrid每列的宽度是使用colModel
参数定义的。假设我想在单击按钮后调整列的大小,我该如何执行此操作?
您可以使用两种方法设置列的新宽度--setColProp和setGridWidth。
以下是设置列量新宽度的示例:
$("#mygrid").jqGrid('setColProp','amount',{width:new_width});
var gw = $("#mygrid").jqGrid('getGridParam','width');
$("#mygrid").jqGrid('setGridWidth',gw);
附:请注意,为了解决这个问题,一个shrinkToFit应该是true,或者你应该用第二个参数调用setGridWidth true
您好,这可以分两步完成:
a)更改标题单元格的宽度:
$('.ui-jqgrid-labels > th:eq(0)').css('width','200px')
b)改变列中单元格的宽度:
$('#grid tr').find("td:eq(0)").each(function(){$(this).css('width','200px');})
此代码不影响表视图,只更改width
中列的colModel
属性:
$("#[grid_id]").jqGrid('setColProp','[column_name]',{width:[new_width]});
Yo可以动态更改列width
([column_index]从1开始):
$('#[grid_id]_[column_name], #[grid_id] tr.jqgfirstrow td:nth-child([column_index])').width([new_width])
例如,如果要更改许多列:
在这种情况下,在构建jqgrid之后,您可以直接转到生成的表并手动更改列标题的所有列宽和相应的数据,而无需编写繁琐的代码。
var tabColWidths ='70px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px|125px';
function reDefineColWidth(){
var widthsArr = tabColWidths.split('|');
for(var j=0; j < widthsArr.length ; j++ ){
$('.ui-jqgrid-labels > th:eq('+j+')').css('width',widthsArr[j]);
$('#grid tr').find('td:eq('+j+')').each(function(){$(this).css('width',widthsArr[j]);})
}
}
$('#gbox_list_requisitos').css('width','1300px');
$('#gview_list_requisitos').css('width','1300px');
$('#gview_list_requisitos').css('width','1300px');
$('.ui-state-default').css('width','1300px');
$('.ui-jqgrid-hdiv').css('width','1300px');
$('.ui-jqgrid-bdiv').css('width','1300px');
$('#pager_requisitos').css('width','1300px');
这是我的答案可以修复我面临同样的问题,如在shrinkFit = true,我有2个水平滚动条,这个解决方案正在工作,而不是1300你可以使用窗口宽度
我的表id是list_requisitos
,寻呼机ID是pager_requisitos
以上是关于JQGrid - 动态更改列的宽度的主要内容,如果未能解决你的问题,请参考以下文章