Razor Nested WebGrid - PullRequest
       20

Razor Nested WebGrid

5 голосов
/ 20 апреля 2011

Как я вложил WebGrid с большим количеством форматирования для каждого столбца. Я могу сделать вложенный цикл for, но он мне нужен в основном для подкачки. Или есть другой лучший вариант?

1 Ответ

12 голосов
/ 20 апреля 2011

Извините за подробные данные, но это работает ...

@{
    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")
                    )
                );
        })
    )
)

Визуализирует:
No styling

Конечно, вы должны быть уверены, что в вызовах метода GetHtml () вы даете каждой сетке (как верхней, так и вспомогательной) уникальные имена параметров для разбивки на страницы / сортировки, иначе у вас возникнут конфликты.

...