15

JSON応答をjqgridに送信すると、「未定義」メッセージが表示され、Firebugが次のように言っています:

b.jgrid.formatter is undefined

[Break On This Error]   

...input===true){b(".ui-pg-input",l).val(a.p.page);h=a.p.toppager?"#sp_1"+m+",#sp_1...

これは基本的にあまり教えてくれません。

これは、空の応答を送信しているときに発生します。

{"total":0,"page":1,"records":0,"rows":[]}

または記録付きの応答。レコードはグリッドに表示されます。この「未定義」メッセージが表示された後、もちろんコードのバグが発生したため、ページを閲覧できません。

@Olegが示唆したように、ここで追加情報を提供しています:

  1. これらは私が使用しているJavaScriptです:
    jquery.validate.min.js
    jquery.validate.unobtrusive.min.js
    jquery-1.5.1.min.js
    jquery-ui-1.8.11.min.js
    jquery.jqGrid.min.js
    ui/jquery.ui.core.js
    UI/jquery.ui.widget.js
    UI/jquery.ui.datepicker.js
  2. 私のJavaScriptソース:
    var grid = jQuery("#list").jqGrid({
                データ型: 'json',
    
                キャプション: 'トランザクション ログ',
                隠しグリッド: 'true',
                投稿データ: {
                    companyId: function () { return $("#SelectedCompany").val(); }、
                    userId: function () { return $("#SelectedUser").val(); }、
                    dateFromString: 関数 () { return $("#DateFrom").val(); }、
                    dateToString: function () { return $("#DateTo").val(); }
                }、
                url: '@Url.Action("GetTransactionLogData")',
                mtype: 'GET',
                colNames: ['Ref.', 'TradeDate', 'Status', 'LegalEntity', ...],
                colModel: [
                    { 名前: 'リファレンス', インデックス: 'リファレンス', 幅: '60' },
                    { 名前: '取引日', インデックス: '取引日', 幅: '70' },
                    { 名前: 'ステータス', インデックス: 'ステータス', 幅: '50' },
                    { 名前: 'LegalEntity', インデックス: 'LegalEntity', 幅: '80' },
                    ...
                ]、
                ページャー: $('#pager'),
                行数: 10,
                高さ: '100%'
    
            });
    
  3. [このリンク][1] から jqGrid の最新バージョンをダウンロードしました。**4.4.0** バージョンと表示されています。

どうすればこれを解決できますか?

前もって感謝します。

4

1 に答える 1

30

jqGridを機能させるには、grid.locale-en.js に含めることが重要です。jquery.jqGrid.min.js

さらに、jqGridにはページャーのIDセレクターのみが必要なため、gridview: truejqGridにオプションを追加してに置き換えることpager: $('#pager')をお勧めします。pager: '#pager'を使用する場合pager: $('#pager')、jqGridはパラメータをに置き換えますpager: '#pager'。したがって、フォームpager: $('#pager')はjqGridパラメーターとしては実際には意味がありません。

于 2012-06-29T09:59:17.803 に答える