jqGrid - функция setGridWidth - PullRequest
       17

jqGrid - функция setGridWidth

2 голосов
/ 31 августа 2011

Я пытаюсь вызвать функцию jGGrid setGridWidth, но получаю сообщение об ошибке:

У объекта [объект Object] нет метода 'setGridWidth'

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

    $("#jqGridElement").jqGrid({
        datastr: tableSrc,
        jsonReader: { repeatitems: false },
        datatype: "jsonstring",
        colNames: ['title', 'subtitle'],
        colModel: [
            { name: 'title', index: 'title', width: 55 },
            { name: 'subtitle', index: 'subtitle'}],
        height: 'auto',

        gridview: true
    });

    $("#jqGridElement").setGridWidth(600);'

РЕДАКТИРОВАТЬ

Я также пробовал:

var gridObj = $("#jqGridElement").jqGrid({  datastr: tableSrc, .......
gridObj.setGridWidth(300);

Тот же результат

1 Ответ

8 голосов
/ 31 августа 2011

Полагаю, вы установили $.jgrid.no_legacy_api = true;, как я делал в моих последних демонстрациях.

«Стандартный» (устаревший API) код jqGrid устанавливает множество расширений методов jQuery. Это опасно в случае использования многих других плагинов jQuery. Вероятность конфликта имен увеличивается. Поэтому рекомендуется использовать jqGrid API "новый стиль". В случае setGridWidth метода вы должны использовать

$("#jqGridElement").jqGrid('setGridWidth', 600);

вместо

$("#jqGridElement").setGridWidth(600);

Одно небольшое общее замечание: я рекомендую вам определить gridObj как

var gridObj = $("#jqGridElement");
gridObj.jqGrid({  datastr: tableSrc,...

вместо

var gridObj = $("#jqGridElement").jqGrid({  datastr: tableSrc,...

Преимущество заключается в том, что значение gridObj будет установлено до вызова $("#jqGridElement").jqGrid, и вы можете использовать безопасный gridObj внутри любого события jqGrid. Например, вы можете использовать переменную gridObj внутри события loadComplete. В случае использования таким же образом, как вы используете сейчас, переменная gridObj может быть undefined при первом использовании события loadComplete.

...