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

JqGrid с автоматической высотой; но имеет максимальную ширину и полосу прокрутки

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

Спасибо D

4b9b3361

Ответ 1

Я бы рекомендовал вам установить свойство "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.

Ответ 2

попробуйте это

jQuery("#yourid").jqGrid({  
    ........
    height:'auto'
}); 

Ответ 3

Попробуйте эти методы

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);
    }

Ответ 4

.ui-jqgrid-view {
    max-height: 642px;
}
.ui-jqgrid-bdiv {
    overflow-y: scroll !important;
    max-height: 600px !important;
}

эта работа над моей jqGrid

Ответ 5

Наш пользовательский интерфейс решил проблему (увеличьте список до 300 пикселей, если имеется более 10 вложений, покажите вертикальную полосу прокрутки) с помощью css

#gview_list_Attachments .ui-jqgrid-bdiv{
    max-height: 300px;
    overflow-y: visible;
}

В нашем случае высота 300 пикселей - это высота 10 пунктов. Конечно, используя jquery, вы можете определить высоту 1 элемента и умножить на 10. Но это решение было быстрым, простым и решило нашу проблему.

Ответ 6

Добавьте это:

var height = $(window).height();
$('.ui-jqgrid-bdiv').height(height);

после загрузки jqgrid на нужную страницу, это сработало для меня.

Ответ 7

Попробуйте это

 $("#list1").parents(".ui-jqgrid-bdiv").css('height', jQuery("#list1").css('height'));

Этот код будет регулировать высоту сетки в соответствии с количеством строк в сетке

Ответ 8

Я исправил это, используя атрибут высоты jqgrid как 30% (высота: "30%") и следующий css:

.ui-jqgrid-bdiv {
                min-height:150px;
        }

Ответ 9

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

$(window).load(
    function () {
        $('.ui-jqgrid-bdiv').css("min-height", "150px");
    }
)

Я использую $ (window).load( из-за загрузки его после всех скриптов.