Автоматическая ширина колонки JQGrid
Мне просто интересно, как мы можем установить ширину столбца jqGrid в auto?
...
colModel: [
{ name: 'MyDescription', index: 'description', align: 'left', width: 150, sortable: false },
...
для вышеприведенного утверждения, как я могу указать ширину авто для столбца, чтобы он соответствовал размеру максимального содержимого в нем.
Ответы
Ответ 1
Невозможно указать столбец autowidth в jqGrid. Но вы можете использовать параметр shrinkToFit сетки, установленный в true, и установить некоторые приблизительные значения ширины (например, 20, 20, 20, 80), а ширина столбцов будет масштабироваться до ширины сетки.
Подгонка:
Этот параметр описывает тип вычисления начальной ширины каждого столбца с шириной сетки. Если значение истинно и задано значение в ширине, то: Каждая ширина столбца масштабируется в соответствии с определенной шириной параметра. Пример: если мы определяем два столбца шириной 80 и 120 пикселей, но хотим, чтобы сетка имела 300 пикселей, - тогда столбцы пересчитываются следующим образом: 1- столбец = 300 (новая ширина)/200 (сумма всей ширины ) * 80 (ширина столбца) = 120 и 2 столбца = 300/200 * 120 = 180. Ширина сетки 300 пикселей. Если значение равно false, а значение в ширине установлено, то: ширина сетки - это ширина, установленная в опции. Ширина столбца не пересчитывается и имеет значения, определенные в colModel.
Ответ 2
Вы можете использовать метод setGridWidth
.
Пример:
$(window).on('resize', function() {
$("#jqgrid").setGridWidth($(window).width());
}).trigger('resize');
DEMO
Ответ 3
В основном это работает для меня.
<div id="myjqgridwrapper" style="width:100%;">
<table id="myjqgrid"></table>
<div id="myjqgridfooter"></div>
</div>
<script type="text/javascript">
//script to autosize grid
//don't forget autowidth:true for initial size
$(window).bind('resize', function(){
//set to 0 so grid does not continually grow
$('#myjqgrid').setGridWidth(0);
//resize to our container width
$('#myjqgrid').setGridWidth($('#myjqgridwrapper').width());
}).trigger('resize');
</script>
Ответ 4
Try this. Worked For Me
.ui-common-table{
width: 100% !important;
}
.ui-jqgrid .ui-jqgrid-hbox{
padding-right: 0px !important;
}
Ответ 5
Вы можете попытаться использовать tableToGrid, насколько я помню, он сохраняет ширину. Если это так, вы можете также изучить его исходный код, если его поведение не полностью соответствует вашим потребностям.