Можно ли сделать jqGrid растянутым до 100%? - PullRequest
39 голосов
/ 16 июня 2010

Можно ли сделать так, чтобы ширина jqGrid была равна 100%?Я понимаю, что ширина столбцов должна быть абсолютным размером в пикселях, но мне еще предстоит найти что-нибудь для установки относительной величины ширины фактической сетки.Например, я хочу установить ширину на 100%.Вместо 100% он использует нечетный размер 450 пикселей.На странице больше горизонтального пространства, но с шириной столбцов и тому подобным, контейнер (только из сетки) будет прокручиваться горизонтально.Есть ли способ обойти это?

Ответы [ 14 ]

79 голосов
/ 04 июня 2011

autowidth: true с 3,5 года

33 голосов
/ 05 декабря 2013

у меня работает:

width: null,
shrinkToFit: false,
7 голосов
/ 10 октября 2014

Я использую это, чтобы установить ширину сетки в ширину родительского контейнера.

function resizeGrid() {
        var $grid = $("#list"),
        newWidth = $grid.closest(".ui-jqgrid").parent().width();
        $grid.jqGrid("setGridWidth", newWidth, true);
}
4 голосов
/ 19 июля 2010

В итоге я использовал расширение jqGrids.fluid для этого, и оно отлично работало.

ОБНОВЛЕНИЕ : эта ссылка кажется мертвой, но заархивированную статью можно просмотреть здесь .

2 голосов
/ 18 июня 2013

Попробуйте установить ширину в «ноль».У меня это работает.

$(grid).jqGrid({
   width: null,
});
2 голосов
/ 09 мая 2013

замечательная функция для этого я нашел здесь (stackoverflow) не могу вспомнить пост.Я закомментировал часть высоты, имейте это в виду (не работал для меня), но ширина прекрасна.закинь это куда-нибудь в свой php файл.

$resize = <<<RESIZE
jQuery(window).resize(function(){
    gridId = "grid";

    gridParentWidth = $('#gbox_' + gridId).parent().width();
    $('#' + gridId).jqGrid('setGridWidth',gridParentWidth);

   // $('#' + gridId).jqGrid('setGridHeight', //Math.min(500,parseInt(jQuery(".ui-jqgrid-btable").css('height'))));
})
RESIZE;
2 голосов
/ 16 июня 2010

Вы можете попытаться исправить ширину jqGrid относительно функции, которую я описал здесь Правильный вызов setGridWidth для jqGrid в диалоге jQueryUI

1 голос
/ 21 апреля 2014

проще

  $("#gridId").setGridWidth($(window).width() );
1 голос
/ 29 марта 2012
loadComplete : function () {
     $("#gridId").jqGrid('setGridWidth', $(window).width(), true); 
},
1 голос
/ 16 июня 2010

Похоже, это не поддерживается. Согласно документам для setGridWidth :

Устанавливает новую ширину сетки динамически. Параметры: new_width - это новая ширина в пикселях ...

В документах для опции width также не упоминается возможность установки ширины в процентах.

При этом вы можете использовать функцию autowidth или аналогичную технику, чтобы придать сетке правильную начальную ширину. Затем следуйте методам, рассмотренным в resize-jqgrid-when-browser-is-resized , чтобы обеспечить правильное изменение размера сетки при изменении размера окна браузера, что будет имитировать эффект ширины 100%. *

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