再度ASP.NET MVC3でjqGrid?

私はこのことをソートしたと思っていましたが、別のアプリケーションでjqGridを使用しようとしましたが、動作したくありません。それは言及されたURLに行くことさえありません。それは、空のグリッド文字列を表示するだけで、空のグリッドは表示されません。
これは私がビューで持っているものです

$("#list").jqGrid({
            url: '/Customers/MyAccount/GetEnhancementRequests',
            datatype: 'json',
            type: 'POST',
            colNames: ['ID', 'Requested By', 'Requested Date', 'Details', 'Progress'],
            colModel: [
            { name: 'Id', index: 'ID', key: true, width: 55 },
            { name: 'CustomerName', index: 'CustomerName', width: 50 },
            { name: 'requestDate', index: 'requestDate', width: 50 },
            { name: 'details', index: 'details', width: 50 },
            { name: 'progress', index: 'progress', width: 50 }
            ],
            pager: $("#pager"),
            rowNum: 2,
            rowList: [2, 10, 50, 100, 200],
            sortname: 'ID',
            viewrecords: true,
            sortorder: 'desc',
            caption: 'Enhancement Requests',
            imgpath: '/Content/images',
            width: 1000,
            height: 500,
            emptyrecords: 'No enhancements have been submitted',
            jsonReader: { repeatitems: false }
        });


        $("#list").jqGrid('navGrid', '#pager',
         { edit: false, add: false, del: false },
         {},
         {},
         {},
         { multipleSearch: true, multipleGroup: true }
         );

そして、コントローラの動作をこれだけに変更しました

[HttpPost]
public JsonResult GetEnhancementRequests(string sidx, string sord, int page, int rows, bool _search, string filters) 
        {
            var jsonData = new
            {
                total = 1,
                page = page,
                records = 1,
                rows = (
                     new { 
                         id = 1,
                         cell = new string[]{
                            "1", "RequestedBy", DateTime.Now.ToShortDateString(), "Lots of details", "and even some progress"}                        
                     })
            };
            return Json(jsonData );  
        }

私はコントローラのアクションでブレークポイントを持っていますが、メソッドには入っていません。どんな洞察?

編集:追加することを忘れました、私はスクリプトに次の参照があります。あなたが見ることができるように、私はすべてのreqファイルを持っています

<link href="../../../../Scripts/css/custom-theme/jquery-ui-1.8.16.custom.css" rel="stylesheet" type="text/css" />
<link href="../../../../Scripts/css/ui.jqgrid.css" rel="stylesheet" type="text/css" />
<link href="../../../../Scripts/ui.multiselect.css" rel="stylesheet" type="text/css" />

<script src="../../../../Scripts/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="../../../../Scripts/jquery-ui-1.8.15.min.js" type="text/javascript"></script>
<script src="../../../../Scripts/jquery-ui-1.8.16.custom.min.js" type="text/javascript"></script>
<script src="../../../../Scripts/grid.locale-en.js" type="text/javascript"></script>
<script src="../../../../Scripts/ui.multiselect.js" type="text/javascript"></script>
<script src="../../../../Scripts/jquery.jqGrid.min.js" type="text/javascript"></script>  
<script src="../../../../Scripts/jquery.tablednd.js" type="text/javascript"></script>
0
グリッドが要求するURLからのサンプル出力も投稿できますか?
追加された 著者 Mihalis Bagos,

2 答え

あなたのコードにいくつかのエラーがあります:

  • の形式をの項目に使用する場合は、jqGrid定義から jsonReader:{repeatitems:false} パラメータを削除する必要があります> {id、cell} の各プロパティの cell は文字列の配列です。
  • すべてのJavaScriptファイルを一度だけ含めます。現在、 jquery-ui-1.8.15.min.js jquery-ui-1.8.16.custom.min.js の両方が含まれています。 jquery-ui-1.8.15.min.js 削除する必要があります。同様に、 jquery.tablednd.js ファイルは、最小化された形式の jquery.jqGrid.min.js に既に含まれています。 jquery.tablednd.js 削除する必要があります。

他のものはエラーではありませんが、推奨事項です。

  • パラメータ imgpath は何年も前からjqGridに存在しません。おそらくテンプレートとしていくつかのレトロな例を使用しました。パラメータ imgpath: '/ Content/images' を含むのは、 blaBla: 'HaHa' を含むものと同じです。したがって、 imgpath:/ Content/images 削除する必要があります。
  • pager:$( "#pager")ページャ: "#pager" 置き換える必要があります。 $( "#pager")という表現は、 id = "page" を持つページ上のDOM要素の選択と、DOM要素へのjQueryラッパーの作成を意味します。 jqGridはページャのIDのみを知る必要があります。したがって、 pager パラメータの値が文字列とjQuery要素ではなく、jqGridは要素から id 属性を取得し、 pager >パラメータを文字列 '#' + id に追加します。 `pager:` pager パラメータを `pager:` #pager "の形式で直接使用する方が良いでしょう。
  • 回答の最新の部分を見ることをお勧めします。 jqGridにエラーメッセージを転送するコード、ASP.NET MVC 2または3でjqGridを使用する場合のいくつかのCSS問題を修正するコード、Entity Frameworkの場合にデータページング、並べ替え、フィルタリングを使用する方法を示します。だから面白いかもしれません。デモプロジェクトは、答えの "UPDATED 2"(最後に)のリンクからダウンロードできます。
1
追加された

あなたのご意見ありがとうございます。私は間違いがあったことが分かります。私はmtypeの代わりにtypeを呼び出していました.jqGridは指定したURLで何もしませんでした。一度修正すれば、今は正常に動作します。

imgpathとpager btwについてのポインタをありがとう。感謝します ありがとうございました

0
追加された
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript