未捕获的异常:jqGrid - 没有这样的方法:navGrid

时间:2010-12-18 11:58:15

标签: jqgrid

jqGrid 3.8.1工作正常,我更新了jqGrid 3.8.2。代码开始生成错误。 错误是:未捕获的异常: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 个答案:

答案 0 :(得分:13)

我想你没有检查jqGrid dounload期间所需的所有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 :(得分:1)

对于那些从谷歌来这里的人来说,我遇到了类似的问题,直到我在jqGrid文档中发现this评论:

  

您必须在head标记

中添加grid.addons.js脚本文件      

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

我认为这是整个互联网上唯一提到此要求的地方。