Отображение таблиц данных, сгруппированных и разделенных заголовками, в представлении MVC - PullRequest
3 голосов
/ 04 июня 2010

Я полный нуб C # и MVC, так что это была горькая борьба за меня.

Я проделал ужасную, но в конечном итоге успешную работу по созданию веб-сайта для работы по отображению результатов предстоящих первичных / местных выборов.

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

Данные напрямую связаны с Linq to SQL и поступают из единого представления на сервере (репозитории - это то, что должно произойти в моем следующем проекте, если они не необходимы для этой функции).

Ответы [ 2 ]

4 голосов
/ 04 июня 2010

Я не совсем уверен, что это то, что вам нужно, дайте мне знать, и я постараюсь помочь.

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

Я могу объяснить, что это значит, если я понадоблюсь (я был новичком всего год назад!)

Я предположил, что вы хотите, чтобы расы были сгруппированы по категориям.

 <% foreach (var group in Model.GroupBy(item => item.categoryId)) Gives you the inital sort
 { %>
<% foreach (var item in group.Take(1))
{ //Category %>
<%=Html.Encode(item.CategoryName) %>
<% } %>

<% foreach (var item in group)
{ //Indervidual races%>

<%=Html.Encode(item.raceResult) %>
<% } %>


<% foreach (var item in group.Take(1))
{ %>
<!-- Area which happens after each category grouping -->
<% } %>
<% } %>
2 голосов
/ 04 июня 2010

СПАСИБО !! Это была именно та информация, которую я искал. Model.groupby был для меня прорывом.

Вот код, который я использовал в финальном FWIW:

<% 
foreach (var group in Model.GroupBy(item => item.contestNumber)) 
{
    foreach (var item in group.Take(1)) 
    {
%>
        <table width="600">
            <tr>
                <th>
                    <%: item.txtContest %>
                </th>
                <th width="40"></th>
            </tr>
<% 
        foreach (var result in group) 
        { 
%>
            <tr>
                <td>
                    <%: result.Candidate %>
                </td>
                <td>
                    <%: result.voteTotal %>
                </td>
            </tr>

<% 
        } 
%>

        </table>
        <br />
        <br />
        <br />
<% 
    }
} 
%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...