Как стилизовать строки в сетке MVCContrib на основе их данных? - PullRequest
10 голосов
/ 11 января 2011

Я работаю с MVCContrib Grid и застрял на том, как отформатировать строку данных в сетке на основе данных.

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

Одним из обходных путей может быть использование jQuery на стороне клиента для применения класса CSS к тем строкам, в которых прекращенная ячейка имеет значение TRUE, но это кажется хрупким решением. Я надеюсь, что есть способ сделать это на стороне сервера с помощью вызова метода Html.Grid.

Спасибо

1 Ответ

30 голосов
/ 12 января 2011

Здравствуйте, Скотт: попробуйте что-то вроде следующего, чтобы добавить RowAttributes -

@Html.Grid(Model)
    .WithModel(new CustomerGridModel())
    .Sort(ViewData["sort"] as GridSortOptions)
    .Attributes(id => "grid", style => "width: 100%;")
    .RowAttributes(data => new MvcContrib.Hash(
        @class => data.Item.Discontinued ? "discontinued" : ""))

Это добавит атрибут класса к элементу tr.Затем создайте класс следующим образом:

tr.discontinued td {background-color: red;}

Извините за фрагмент длинного кода ...

...