Подтвердить что ты не робот

Автоматическая ширина колонки JQGrid

Мне просто интересно, как мы можем установить ширину столбца jqGrid в auto?

...
colModel: [
{ name: 'MyDescription', index: 'description', align: 'left', width: 150, sortable: false },
...

для вышеприведенного утверждения, как я могу указать ширину авто для столбца, чтобы он соответствовал размеру максимального содержимого в нем.

4b9b3361

Ответ 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, насколько я помню, он сохраняет ширину. Если это так, вы можете также изучить его исходный код, если его поведение не полностью соответствует вашим потребностям.