Можно ли сделать так, чтобы jqGrid имела ширину, равную 100%? Я понимаю, что ширина столбцов должна быть абсолютным размером пикселя, но мне еще нужно найти что-либо, чтобы установить ширину фактической сетки в относительный размер. Например, я хочу установить ширину на 100%. Вместо 100%, похоже, используется нечетный размер 450 пикселей. На странице больше горизонтальной комнаты, но с шириной столбцов и т.д. Она сделает горизонтальную прокрутку контейнера (только сетки). Есть ли способ обойти это?
Можно ли растянуть jqGrid до 100%?
Ответ 1
В итоге я использовал расширение jqGrids.fluid, и это сработало отлично.
UPDATE. Эта ссылка кажется мертвой, но архивированную статью можно просмотреть здесь. p >
Ответ 2
autowidth: true
с 3,5 года
Ответ 3
Это работает для меня:
width: null,
shrinkToFit: false,
Ответ 4
Я использую это, чтобы установить ширину сетки в ширину родительского контейнера.
function resizeGrid() {
var $grid = $("#list"),
newWidth = $grid.closest(".ui-jqgrid").parent().width();
$grid.jqGrid("setGridWidth", newWidth, true);
}
Ответ 5
Вы можете исправить ширину jqGrid относительно функции, описанной здесь Правильно вызвать setGridWidth в jqGrid внутри диалога jQueryUI
Ответ 6
Попробуйте установить ширину в "null". Это работает для меня.
$(grid).jqGrid({
width: null,
});
Ответ 7
Похоже, что это не поддерживается. Согласно документам для setGridWidth:
Устанавливает новую ширину сетки динамически. Параметры: new_width - это новая ширина в пикселях...
В документах для параметра width
также не указывается возможность установки ширины в процентах.
При этом вы можете использовать функцию autowidth
или аналогичную технику, чтобы дать сетке правильную начальную ширину. Затем следуйте методам, описанным в resize-jqgrid-when-browser-is-resized, чтобы обеспечить правильное изменение размера сетки при изменении размера окна браузера, который будет имитировать эффект 100% -ной ширины.
Ответ 8
loadComplete : function () {
$("#gridId").jqGrid('setGridWidth', $(window).width(), true);
},
Ответ 9
замечательная функция для этого, которую я нашел здесь (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;
Ответ 10
Simpler
$("#gridId").setGridWidth($(window).width() );
Ответ 11
Вы не можете указывать ширину в процентах, а если вы хотите в соответствии с разрешением экрана, установите следующее:
var w = screen.width
а затем использовать эту переменную в ширину опции jqgrid.
Надеюсь, что это будет полезно.
Ответ 12
Я сделал это и работал как шарм.
$(document).ready(function () {
$("#jQGridDemo").setGridWidth(window.innerWidth - offset);
});
Я положил смещение 50
Ответ 13
Попробуйте это,
Заменить width: 1100
на autowidth: true,