MVContrib Grid MVC 3 Бритва .RowStart - PullRequest
0 голосов
/ 19 апреля 2011

Возникли проблемы с примерами для метода .RowStart.

Сравнение 2 синтаксисов: http://www.jeremyskinner.co.uk/2009/03/01/mvccontrib-grid-part-5-the-action-syntax/

В этом

.RowStart(row => string.Format("<tr{0}>", row.IsAlternate ? "style=\"background-color:#CCDDCC\"" : ""))

row.IsAlternate выдаетошибка, поскольку строка - это не GridRow, это фактически ваша модель (хорошо, элемент данных строки).

Второй синтаксис (ActionSyntax):

.RowStart((p,row)  => {     
             if (row.IsAlternate) { %>
                   <tr style="background-color:#CCDDCC">
             <%  }  else  { %>
                 <tr>
             <% }
    }).Render(); %>

, по-видимому, не переводится в Razor

.RowStart((x, row) => string.Format("<tr class='{0}'>", row.IsAlternate ? "grid-row" : "grid-row-alt"))

Проходит нормально, но не генерирует никаких изменений строки.

Кто-нибудь работал?

Ответы [ 2 ]

3 голосов
/ 04 мая 2011

Я только что заметил некоторые условные вещи, которые Html.Grid добавляет для вас ...

Учитывая следующее

Html.Grid(Model.Results).Attributes(@class => "grid")

приводит к таблице с сеткой class = "", четные строки с class =" gridrow ", и нечетные строки с class =" gridrow_alternate "

1 голос
/ 27 апреля 2011

Не уверен, поможет ли это, но в последнее время я использовал одну вещь:

.RowAttributes(x => new Dictionary<string, object> { { "class", x.value == myValue ? "highlight" : "" } })

Это позволяет мне многое делать со значениями css для атрибутов.затем для поддержки "чередования зебр" я использую чистый CSS (здесь может возникнуть проблема с совместимостью с браузерами, но она изящна, просто не рендерится в старых браузерах) выглядит примерно так:

tr:nth-child(odd) {
background-color: #eee;}

Дает вам отличный контроль надТаблица.Подробнее о селекторах Дочерние селекторы Sitepoint

В других случаях вы можете попробовать google groups для mvccontib. Джереми обычно старается изо всех сил помочь.

Надеюсь, это помогло.

...