Как я могу показать список в виде нескольких таблиц, используя синтаксис Razor? - PullRequest
0 голосов
/ 01 ноября 2011

У меня есть модель, содержащая много строк. Один из столбцов в строке показывает местоположение хранилища данных. Я хотел бы иметь таблицу данных для каждого местоположения хранилища данных. Есть ли какой-нибудь простой способ сделать это с Razor? Вот упрощенный пример того, что у меня есть.

<table>
@foreach (var item in Model) {    
    <tr>
        <td>@item.Datastore</td>
        <td>@item.xxx</td>
        <td>@item.yyy</td>
    </tr>
}
</table>

1 Ответ

0 голосов
/ 01 ноября 2011

Если у вас нет списка отдельных источников данных, доступных вам в вашей модели, вам придется извлечь их непосредственно из вашей модели. Вы можете сделать это, используя Linq и метод Distinct, чтобы найти уникальные значения.

После того, как у вас есть эти данные, вы можете циклически проходить по списку и создавать отдельные таблицы для каждого хранилища данных и заполнять их, используя отфильтрованные значения из вашей модели на основе значения хранилища данных.

Как-то так должно работать:

@{
    var dataStores = Model.Select(i => i.DataStore).Distict();
    foreach(var dataStore in dataStores) {
    <table>
    @foreach (var item in Model.Where(i => i.DataStore == dataStore)) {
       <tr>
           <td>@item.Datastore</td>
           <td>@item.xxx</td>
           <td>@item.yyy</td>
       </tr>
    }
    </table>
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...