0

より多くのデータを表示するために、既存のASP.NET MVC3WebGridを適応させています。現在、1レベルのデータが表示されていますが、グリッドに親子関係を表示する必要があります。これは可能ですか、それともサードパーティのコントロールを調べる必要がありますか、それとも自分でコントロールする必要がありますか?

4

1 に答える 1

1

webgridにそれを単独で実行させたい場合、答えは直接不可能ではありません。このように実現できる単純なネストされたグリッド... RazorNested WebGrid

グリッド全体を別のグリッド内に配置するには、jQuery、AJAXの複数のビューを使用してこれを実現できます。行を展開したら、他のhtmlではなく子グリッドをレンダリングするajaxを使用して別のアクションを呼び出します。結果のhtmlを使用して、親グリッドテーブルの新しい行に挿入します。これらの行に何か...

     $.ajax({
        url: childGridUrlString,
        type: 'post',
        async: true,
        timeout: 10 * 1000,
        success: function (data, textStatus, jqXHR) {
             if (!data.Status) {
                 var $tr = $obj.closest("tr", $("#parentgrid"));
                 var $newTr = "<tr><td colspan=\"4\">" + data + "</td></tr>";
                 $("<tr><td>&nbsp;</td><td colspan=\"3\">" + data + "</td></tr>").insertAfter($tr);
             }
         },
    });

親グリッドと子グリッドにある列の数に応じて、colspanを処理します。重要なことは、WebGridの組み込みの並べ替え機能は、このタイプの親子グリッド表示では正しく機能しないことです。

もちろん、サードパーティのコントロールは常にオプションですが、コストも考慮する必要があり、それらにもコーディングが必要になります。

于 2011-09-06T06:19:11.337 に答える