1

エラーが発生しています:

Microsoft JScript ランタイム エラー: 'prmGridDialog' は定義されていません

jQgrid の行をダブルクリックしたとき。ツールバーのボタンを使用すると、ダイアログが開きます。他のすべては正常に動作しています。ここにjqueryがあります:

<script src="~/Scripts/jquery.jqGrid.min.js"></script>
<script src="~/Scripts/i18n/grid.locale-en.js"></script>
<script src="~/Scripts/json2.min.js"></script>
<script src="~/Scripts/jquery.jqGrid.src.js"></script>
<link href="~/Content/jquery.jqGrid/ui.jqgrid.css" rel="stylesheet" />

$(document).ready(function() {
    $.jgrid.nav.addtext = "Add";
    $.jgrid.nav.edittext = "Edit";
    $.jgrid.nav.deltext = "Delete";
    $.jgrid.edit.addCaption = "Add Item";
    $.jgrid.edit.editCaption = "Edit Item";
    $.jgrid.del.caption = "Delete Contact";
    $.jgrid.del.msg = "Delete selected item?";

    var updateDialog = {
        url: '/VisitorProducts/EditjQGridData'
        , closeAfterEdit: true
        , closeOnEscape: true
        , modal: true
        , width: "400"
    };

    var addDialog = {
        url: '/VisitorProducts/AddjQGridData'
        , closeAfterAdd: true
        , closeOnEscape: true
        , modal: true
        , width: "400"
    };

    var deleteDialog = {
        url: '/VisitorProducts/DeletejQGridData'
        , closeAfterEdit: true
        , closeOnEscape: true
        , modal: true
        , width: "400"
    };

    jQuery("#list2").jqGrid({
        url: '/VisitorProducts/jQgridData?visitorId=32'
        , datatype: "json"
        , colNames: ['RowId', 'VisitorId', 'Product Name']
        , colModel: [
            { name: 'RowId', index: 'RowId', width: 150, editable: false, edittype: 'text', key: true },
            { name: 'VisitorId', index: 'VisitorId', width: 150, editable: true, edittype: 'text' },
            { name: 'ProductName', index: 'ProductName', sortable: true, align: 'left', width: 250, editable: true, edittype: 'text', editoptions: { size: 50 } }
        ]
        , rowNum: 10
        , rowList: [10, 20, 30, 50]
        , pager: '#pager2'
        , sortname: 'RowId'
        , viewrecords: true
        , sortorder: "desc"
        , caption: "Visitor Products"
        , rownumbers: false
        , autowidth: true
        , recreateForm: true
        , ondblClickRow: function (rowid, iRow, iCol, e) {
            $("#list2").editGridRow(rowid, prmGridDialog);
        }
    }).navGrid('#pager2',
        { edit: true, add: true, del: true, search: true, refresh: true }
        , updateDialog
        , addDialog
        , deleteDialog
    );
});

何かが足りないかどうかわかりません。

4

1 に答える 1

0

私の間違い。prmGridDialog は存在しない変数でした。この例は Web サイトからコピーされたものであり、変数の初期化コードをコピーしていないはずです。既存のダイアログ (この場合は更新) を指定すると、次のように機能しました。

var updateDialog = {
    url: '@Url.Action("EditStudentClass", "StudentClasses")'
    , closeAfterEdit: true
    , closeOnEscape: true
    , modal: true
    , width: "400"
};


$("#list2").editGridRow(rowid, updateDialog);

それ以外の

$("#list2").editGridRow(rowid, prmGridDialog);
于 2012-12-18T22:32:40.333 に答える