5

各列に多くのフォーマットを使用してWebGridをネストするにはどうすればよいですか。ネストされたforループを実行できますが、基本的にはページングに必要です。または、他にもっと良いオプションはありますか?

4

1 に答える 1

12

冗長なデータ設定を失礼しますが、これは機能します...

@{
    var data = Enumerable.Range(0, 10).Select(i => new { Index = i, SubItems = new object[] { new { A = "A" + i, B = "B" + (i * i) } } }).ToArray();
    WebGrid topGrid = new WebGrid(data);
}

@topGrid.GetHtml(columns:
    topGrid.Columns(
        topGrid.Column("Index"),
        topGrid.Column("SubItems", format: (item) =>
        {
            WebGrid subGrid = subGrid = new WebGrid(item.SubItems);
            return subGrid.GetHtml(
                    columns: subGrid.Columns(
                        subGrid.Column("A"),
                        subGrid.Column("B")
                    )
                );
        })
    )
)

レンダリング:
スタイリングなし

もちろん、GetHtml()メソッド呼び出しで、各グリッド(トップとサブの両方)にページング/ソート用の一意のパラメーター名を指定する必要があります。そうしないと、競合が発生します。

于 2011-04-20T16:36:06.087 に答える