Измените размер jqGrid, когда браузер будет изменен?

Если вы не хотите, чтобы пустые значения были отправлены, вы должны заполнить поле как требуется, добавив атрибут required в поле ввода.

Вы можете добавить условие if, чтобы проверить, что значение не равно NULL, перед нажатием в массив, например:

if(i) {
  // code to push to array
}
81
задан Justin Ethier 3 January 2011 в 12:32
поделиться

4 ответа

В качестве следующего -up:

Предыдущий код, показанный в этом сообщении, был в конечном итоге оставлен, поскольку он был ненадежным. Теперь я использую следующую функцию API для изменения размера сетки, как рекомендовано в документации jqGrid:

jQuery("#targetGrid").setGridWidth(width);

Для фактического изменения размера функция, реализующая следующую логику, привязана к событию изменения размера окна:

  • Вычислить ширину сетка с использованием его родительского clientWidth и (если он недоступен) его атрибута offsetWidth.

  • Выполните проверку работоспособности, чтобы убедиться, что ширина изменилась более чем на x пикселей (для решения некоторых проблем, связанных с приложением)

  • Наконец, используйте setGridWidth () для изменения сетки ' s width

Вот пример кода для изменения размера:

jQuery(window).bind('resize', function() {

    // Get width of parent container
    var width = jQuery(targetContainer).attr('clientWidth');
    if (width == null || width < 1){
        // For IE, revert to offsetWidth if necessary
        width = jQuery(targetContainer).attr('offsetWidth');
    }
    width = width - 2; // Fudge factor to prevent horizontal scrollbars
    if (width > 0 &&
        // Only resize if new width exceeds a minimal threshold
        // Fixes IE issue with in-place resizing when mousing-over frame bars
        Math.abs(width - jQuery(targetGrid).width()) > 5)
    {
        jQuery(targetGrid).setGridWidth(width);
    }

}).trigger('resize');

И пример разметки:

<div id="grid_container">
    <table id="grid"></table>
    <div id="grid_pgr"></div>
</div>
53
ответ дан 24 November 2019 в 09:32
поделиться

Borrowing from the code at your link you could try something like this:

$(window).bind('resize', function() { 
    // resize the datagrid to fit the page properly:
    $('div.subject').children('div').each(function() {
        $(this).width('auto');
        $(this).find('table').width('100%');
    });
});

This way you're binding directly to the window.onresize event, which actually looks like what you want from your question.

If your grid is set to 100% width though it should automatically expand when its container expands, unless there are some intricacies to the plugin you're using that I don't know about.

4
ответ дан 24 November 2019 в 09:32
поделиться

Автоматическое изменение размера:

Для jQgrid 3.5+

        if (grid = $('.ui-jqgrid-btable:visible')) {
            grid.each(function(index) {
                gridId = $(this).attr('id');
                gridParentWidth = $('#gbox_' + gridId).parent().width();
                $('#' + gridId).setGridWidth(gridParentWidth);
            });
        }

Для jQgrid 3.4.x:

       if (typeof $('table.scroll').setGridWidth == 'function') {
            $('table.scroll').setGridWidth(100, true); //reset when grid is wider than container (div)
            if (gridObj) {

            } else {
                $('#contentBox_content .grid_bdiv:reallyvisible').each(function(index) {
                    grid = $(this).children('table.scroll');
                    gridParentWidth = $(this).parent().width() – origami.grid.gridFromRight;
                    grid.setGridWidth(gridParentWidth, true);
                });
            }
        }
36
ответ дан 24 November 2019 в 09:32
поделиться

Некоторое время уже использовал это в производственной среде без каких-либо жалоб (может потребоваться некоторая настройка, чтобы смотреть прямо на вашем сайте ... например, вычитая ширину боковая панель и т. д.)

$(window).bind('resize', function() {
    $("#jqgrid").setGridWidth($(window).width());
}).trigger('resize');
69
ответ дан 24 November 2019 в 09:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: