JqGrid Изменение ширины Проблема с изменением размера браузера - PullRequest
1 голос
/ 12 января 2012

Могу ли я установить ширину JqGrid таким образом, чтобы она автоматически изменялась в зависимости от ширины браузера.

Попробовал использовать это.

  autowidth:true,
  .....
  $(window).bind('resize', function () {
        $("#table").setGridWidth($("#table").width());
    }).trigger('resize');

Изменение размера не работает должным образом. Когда я изменяю размер браузера, я ожидаю, что размер сетки будет изменяться в соответствии с шириной браузера.

UPDATE:

 $(function () {
        $grid = $("#table");
        $grid.jqGrid({
            url: '../../Services/OrderService.asmx/getGlbOrders',
            datatype: 'json',
            mtype: 'POST',
            ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },
            serializeGridData: function (postData) {

                if (postData.searchField === undefined) postData.searchField = null;
                if (postData.searchString === undefined) postData.searchString = null;
                if (postData.searchOper === undefined) postData.searchOper = null;
                //if (postData.filters === undefined) postData.filters = null;                   
                return JSON.stringify(postData);
            },

            jsonReader: {
                root: "d.rows",
                page: "d.page",
                total: "d.total",
                records: "d.records",
                id: "d.names"
            },
            colModel: [
                     { name: 'select', label: 'select', width: 50,
                         formatter: function radio(cellValue, option) {
                             return '<input type="radio" name="radio_' + option.gid + '"  value=' + cellValue + ' />';
                         }
                     },
                     { name: 'code', label: 'Order ID' },
                     { name: 'qty', label: 'Quantity' },
                     { name: 'qtyr', label: 'Remaining Qty'},
                     { name: 'uts', label: 'Units' },
                     { name: 'status', label: 'Status' },
                ],


            rowNum: 10,
            rowList: [10, 20, 300],
            sortname: 'name',
            sortorder: "asc",
            pager: "#pager",
            viewrecords: true,
            gridview: true,
            rownumbers: true,
            height: 250,
            autowidth: true,
            caption: 'Global Order List'
        }).jqGrid('navGrid', '#pager', { edit: false, add: false, del: false, search: false });

    })


     $(window).bind('resize', function () {
         $("#table").setGridWidth($("#table").width());
     }).trigger('resize');

1 Ответ

0 голосов
/ 09 октября 2013

измените свой код с:

$(function () {
        $grid = $("#table");
        $grid.jqGrid({
            // etc..
        }).jqGrid('navGrid', '#pager', { edit: false, add: false, del: false, search: false });

})

$(window).bind('resize', function () {
    $("#table").setGridWidth($("#table").width());
}).trigger('resize');

на:

$(function () {
        $grid = $("#table");
        $grid.jqGrid({
            // etc..
        }).jqGrid('navGrid', '#pager', { edit: false, add: false, del: false, search: false });

});

$(window).bind('resize', function () {
    $("#table").setGridWidth($("#table").width());
}).trigger('resize');

Вы забыли точку с запятой после окончания функции jqGrid.Тогда код, который идет после вашей функции, игнорируется.

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