JQGrid Авто ширина столбца - PullRequest
       44

JQGrid Авто ширина столбца

18 голосов
/ 19 февраля 2010

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

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

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

Ответы [ 5 ]

28 голосов
/ 20 февраля 2010

Нет способа указать столбец автоматической ширины в jqGrid. Но вы можете использовать опцию shrinkToFit для сетки, установленной в true, и установить некоторые приблизительные значения ширины (например, 20, 20, 20, 80), и ширина столбцов будет масштабироваться до ширины сетки.

Подгонка:

Этот параметр описывает тип расчета начальной ширины каждого столбца с учетом ширины сетки. Если значение равно true и значение параметра width установлено, то: Ширина каждого столбца масштабируется в соответствии с заданной шириной параметра. Пример: если мы определяем два столбца с шириной 80 и 120 пикселей, но хотим, чтобы сетка имела 300 пикселей - тогда столбцы пересчитываются следующим образом: 1- столбец = 300 (новая ширина) / 200 (сумма всей ширины) ) * 80 (ширина столбца) = 120 и 2 столбца = 300/200 * 120 = 180. Ширина сетки составляет 300 пикселей. Если значение равно false и задано значение в ширине, то: Ширина сетки - это ширина, заданная в параметре. Ширина столбца не пересчитывается и имеет значения, определенные в colModel.

8 голосов
/ 10 января 2012

Вы можете использовать метод setGridWidth.

Пример:

$(window).on('resize', function() {
   $("#jqgrid").setGridWidth($(window).width());
}).trigger('resize');

DEMO

2 голосов
/ 12 сентября 2012

Это в основном работает для меня.

<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's width
        $('#myjqgrid').setGridWidth($('#myjqgridwrapper').width());
    }).trigger('resize');
</script>
1 голос
/ 23 декабря 2015
Try this. Worked For Me

.ui-common-table{
  width: 100% !important;
}

.ui-jqgrid .ui-jqgrid-hbox{
  padding-right: 0px !important;
}
0 голосов
/ 23 февраля 2010

Вы можете попробовать использовать tableToGrid , насколько я помню, он сохраняет ширину.Если это так, вы также можете просмотреть его исходный код, если его поведение не полностью соответствует вашим потребностям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...