2

製品データベースに対して検索を実行する ASP.NET MVC アプリケーションがあります。TreeGrid モジュールを使用して jqGrid に結果を表示したいと考えています。データは静的であり、すべてを一度にクライアントに送信できるほど小さいため、グリッドを AJAX-y にする必要はありません。

最初の質問: URL から JSON データを取得する代わりに、JS 変数などを参照するように jqGrid を設定するにはどうすればよいですか?

次に、ASP.NET MVC で JSON データを JavaScript 変数に入れる最も適切な方法は何ですか? 私はすでにコントローラーにリストを持っており、それをJSON化した後、どうにかしてJS変数に入れたいだけです。

それとも、私は現在と戦いすぎて、jqGridが機能したいと思われるAJAX-yの方法を受け入れるだけですか?

ありがとう、

〜ジャスティン

4

3 に答える 3

4

JavaScript 関数を使用して jqGrid ツリーを表示する方法を次に示します。

$(document).ready(function() {
    TreeDemo.setupGrid($("#tree"));
});

TreeDemo = {
    data: { A: ["A1", "A2"], B: ["B1", "B2"] },
    setupGrid: function(grid) {
        grid.jqGrid({
            colNames: ['Name'],
            colModel: [
                  { name: 'Name', index: 'Name', width: "250em" }
                ],
            datatype: TreeDemo.treeData,
            loadui: "none",
            sortname: 'Number',
            treeGrid: true,
            treeGridModel: "adjacency",
            sortorder: "asc"
        })
    },
    treeData: function(postdata) {
        var items = postdata.nodeid ? TreeDemo.data[postdata.nodeid] : TreeDemo.data;
        var i = 0;
        var rows = new Array();
        for (val in items) {
            var isLeaf = postdata.nodeid != undefined;
            rows[i] = {
                Name: val,
                Id: val,
                level: postdata.nodeid ? 1 : 0,
                parent: postdata.nodeid || null,
                isLeaf: isLeaf ? "true" : "false",
                expanded: "false"
            }
            i++;
        }
        $("#tree")[0].addJSONData({
            Total: 1,
            Page: 1,
            Records: 2,
            Rows: rows
        });
    }
};

これを行う方法には多くのオプションがあり、私の例は 1 つにすぎないことに注意してください。

JSON を JS var に取得する方法は、次のいずれかです。

  1. ページに短いスクリプトを出力する HTML ヘルパーを作成します。
  2. JavaScriptResult何らかの理由でデータをインライン化できない場合に、ファイル内のデータを取得するためにa を返すアクションを記述します。

.NET JavaScript シリアライザーを使用して JSON を作成します。JsonResult.ExecuteResult例として、MVC ソース コードの を見てください。

于 2009-12-14T15:00:03.173 に答える
1

jqGridドキュメントwikiのデータ操作ページを参照してください。そこには、データをグリッドにフィードする多くの方法があります。

于 2009-12-14T15:24:24.287 に答える
0

便利なオプションとなる可能性のあるTable_to_jqGrid プラグインもあります。

于 2009-12-14T15:40:26.917 に答える