Есть ли способ заставить jqGrid автоматически настроить его высоту на количество строк; но когда достигается определенная высота, что ее высота больше не может увеличиться и что вертикальная полоса прокрутки вызывает?
Спасибо D
Есть ли способ заставить jqGrid автоматически настроить его высоту на количество строк; но когда достигается определенная высота, что ее высота больше не может увеличиться и что вертикальная полоса прокрутки вызывает?
Спасибо D
Я бы рекомендовал вам установить свойство "max-height"
в bdiv jqGrid и использовать height:'100%'
или height:'auto'
:
$("#list").parents('div.ui-jqgrid-bdiv').css("max-height","300px");
Свойство "max-height"
будет не использовано IE6, но его будут использовать более современные веб-браузеры.
ОБНОВЛЕНО: Бесплатный jqGrid представляет новое свойство версии 4.10.0: maxHeight
, которые делают то же самое, что и выше. Таким образом, можно использовать maxHeight: 300
вместо ручной настройки max-height
родительского div.ui-jqgrid-bdiv
.
попробуйте это
jQuery("#yourid").jqGrid({
........
height:'auto'
});
Попробуйте эти методы
1. Определите высоту внутри сетки
$("#griname").jqGrid(
{
rowNum : 1000,
viewrecords : true,
gridview : true,
autoencode : true,
loadonce : true,
width: "100%",
height: 300,
});
2. Эта функция может использоваться, чтобы сохранить высоту фиксированной до заданного значения.
$(window).resize(function() {
if (typeof($gridname) !== 'undefined' && $("#gridname").length > 0) {
$discrepanciesResultGrid.setGridHeight(
$(window).height() - $("#gridname").position().top - 210
);
$gridname.setGridWidth($("body").width() - $("#anothercomponenetname").width() - 50);
}
.ui-jqgrid-view {
max-height: 642px;
}
.ui-jqgrid-bdiv {
overflow-y: scroll !important;
max-height: 600px !important;
}
эта работа над моей jqGrid
Наш пользовательский интерфейс решил проблему (увеличьте список до 300 пикселей, если имеется более 10 вложений, покажите вертикальную полосу прокрутки) с помощью css
#gview_list_Attachments .ui-jqgrid-bdiv{
max-height: 300px;
overflow-y: visible;
}
В нашем случае высота 300 пикселей - это высота 10 пунктов. Конечно, используя jquery, вы можете определить высоту 1 элемента и умножить на 10. Но это решение было быстрым, простым и решило нашу проблему.
Добавьте это:
var height = $(window).height();
$('.ui-jqgrid-bdiv').height(height);
после загрузки jqgrid на нужную страницу, это сработало для меня.
Попробуйте это
$("#list1").parents(".ui-jqgrid-bdiv").css('height', jQuery("#list1").css('height'));
Этот код будет регулировать высоту сетки в соответствии с количеством строк в сетке
Я исправил это, используя атрибут высоты jqgrid как 30% (высота: "30%") и следующий css:
.ui-jqgrid-bdiv {
min-height:150px;
}
В зависимости от ваших потребностей, вы можете использовать минимальную высоту, максимальную высоту или высоту в качестве нижнего кода в скриптовой части представления или страницы:
$(window).load(
function () {
$('.ui-jqgrid-bdiv').css("min-height", "150px");
}
)
Я использую $ (window).load( из-за загрузки его после всех скриптов.