uncaught исключение: jqGrid - нет такого метода: navGrid - PullRequest
5 голосов
/ 18 декабря 2010

jqGrid 3.8.1 работал нормально, чем я обновил jqGrid 3.8.2. Код начал генерировать ошибку. Ошибка: исключение uncaught: jqGrid - Нет такого метода: navGrid. Ниже мой код.

Примечание: если я удаляю строку ниже, то Grid работает нормально. Почему это так?

jQuery("#lists55").jqGrid('navGrid', '#pagers55', { edit: false, add: false, del: false }); 

Использование его в ASP.NET MVC 3 Razor.

// Мой код

<link href="@Url.Content("~/Content/themes/images/jquery-ui-1.8.7.custom.css")" rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Content/themes/ui.jqgrid.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/js/jquery-ui-1.8.7.custom.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/js/grid.locale-en.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/js/jquery.jqGrid.min.js")" type="text/javascript"></script>


jQuery().ready(function () {
    jQuery("#lists55").jqGrid({
        data: mydata1,
        datatype: "local",
        colNames: ['Inv No', 'Date', 'Client', 'Amount', 'Tax', 'Total', 'Notes'],
        colModel: [{ name: 'id', index: 'id', width: 55 },
            { name: 'invdate', index: 'invdate', width: 90 },
            { name: 'name', index: 'name asc, invdate', width: 100 },
            { name: 'amount', index: 'amount', width: 80, align: "right", formatter: 'number' },
            { name: 'tax', index: 'tax', width: 80, align: "right", formatter: 'number' },
            { name: 'total', index: 'total', width: 80, align: "right", formatter: 'number' },
            { name: 'note', index: 'note', width: 150, sortable: false }
        ],
        rowNum: 10,
        rowList: [10, 20, 30],
        pager: '#pagers55',
        sortname: 'id',
        viewrecords: true,
        sortorder: "desc",
        caption: "JSON Example",
        footerrow: true,
        userDataOnFooter: true,
        altRows: true
    });
    jQuery("#lists55").jqGrid('navGrid', '#pagers55', { edit: false, add: false, del: false }); 
});

Ответы [ 2 ]

13 голосов
/ 18 декабря 2010

Полагаю, вы отметили не все модули jqGrid, которые вам были нужны во время загрузки jqGrid . Функция navGrid в основном используется для редактирования формы. Поэтому вам следует проверить модули «Редактирование формы» и «Общие» из блока «Редактирование».

Если вы хотите проверить, какие модули вы используете в jquery.jqGrid.min.js, вы можете открыть его в текстовом редакторе, и вы увидите в комментарии в начале текст файла (обычно в строке 8), начиная со следующего :

Modules: grid.base.js; jquery.fmatter.js; grid.custom.js; grid.common.js; grid.formedit.js; ...

Если вы не найдете grid.formedit.js, то вы действительно не выберете «Редактирование формы» во время загрузки jqGrid.

1 голос
/ 19 декабря 2013

Для всех, кто приходил сюда из Google, у меня была похожая проблема, пока я не нашел этот комментарий в документации jqGrid:

Вы должны добавить файл скрипта grid.addons.js в тег head

<script src=“plugins/grid.addons.js” type=“text/javascript”></script>

Я думаю, что это единственное место во всем Интернете, где упоминается это требование.

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