MVC: Как я могу изменить цвет строки Html.Grid в зависимости от значения? - PullRequest
3 голосов
/ 05 июня 2011

Мне было интересно, как изменить цвет строки в Html.Grid, если логическое свойство 'Completed' равно true.Вот пример сетки:

@Html.Grid(Model.ExampleList).Columns(c =>
        {
            c.For(a => string.Format("{0:dd/MM/yyyy}", a.DateRequested)).Named("Date Requested");
            c.For(a => a.Comment).Named("Comment");
            c.For(a => a.Completed).Named("Completed");
        })

Любая помощь будет принята с благодарностью.

Спасибо.

Ответы [ 2 ]

5 голосов
/ 05 июня 2011

Полагаю, вы имеете в виду изменение цвета фона данной строки в сетке на основе заданного значения свойства модели. Если это так, вы можете использовать метод RowAttributes:

@Html.Grid(Model.ExampleList)
     .RowAttributes(row => new Hash(@class => row.Item.IsFoo ? "redclass" : "normalclass"))
     .Columns(c =>
     {
         ...        
     })
1 голос
/ 10 июля 2015

Попробуйте следующий пример, предполагая, что у вас есть свойство, которое вы хотите выделить, например:

public bool IsImportant { get; set; }

Перейдите к вашему представлению с сеткой и добавьте его в конец:

@Html.Grid(Model).Columns(columns =>
           {

//all your coloumn stuff

           }).WithPaging(10).SetRowCssClasses(item => item.IsImportant ? "important" : string.Empty)

Затем убедитесь, что у вас есть ссылка на необходимую таблицу стилей, и добавьте что-то вроде:

tr.important {
    background-color:rgba(205, 92, 92, 0.5) !important;   //indian red with opacity set to 50%
}

Я обнаружил, что без выражения !important некоторые из моих стилей строк не были переопределены моимПользовательский стиль.

Надеюсь, это полезно вместе с ответом Дарина, так как у меня возникли проблемы с .RowAttributes

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