powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / выделять цветом строку по условию
14 сообщений из 14, страница 1 из 1
выделять цветом строку по условию
    #37950050
kim-kong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вывожу в гриде данные вот так

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
        @{var grid = new WebGrid(Model, defaultSort: "DocumentNumber");
        @grid.GetHtml(tableStyle: "webGrid",
        headerStyle: "header",
        alternatingRowStyle: "alt",
        columns: grid.Columns(
                    grid.Column(format: (item) => Html.ActionLink
                    ("Редактировать", "Edit", new { id=item.ID })),
                    grid.Column(format: (item) => Html.ActionLink
                    ("Подробнее", "Details", new { id=item.ID })),
                    grid.Column(format: (item) => Html.ActionLink
                    ("Удалить", "Delete", new { id=item.ID })),
                    grid.Column("DocumentNumber", "Номер документа", canSort: true),
                    grid.Column("DocumentDate", "Дата документа", canSort: true),
                    grid.Column("ContractTime", "Срок действия", canSort: true),
                    grid.Column("Attorney", "доверенность", canSort: true),
                    grid.Column("Rights", "права", canSort: true),
                    grid.Column("Description", "полномочия", canSort: true),
                    grid.Column("Trustee", "Доверитель", canSort: true),
                    grid.Column("Trusted", "Доверенный", canSort: true)
                 ));
        }




Нужно выделять цветом строку, если истек срок действия контракта, как это делать ?
...
Рейтинг: 0 / 0
выделять цветом строку по условию
    #37950601
Primus inter pares
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использовать javascript (JQuery) или какой-нибудь сторонний грид. В WebGrid-е просто так строку не выделить, можно конечно написать свой хелпер или выделять каждую ячейку в строке по отдельности, но видимо это будет выглядеть очень монструозно.
...
Рейтинг: 0 / 0
выделять цветом строку по условию
    #37950836
kim-kong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Primus inter pares,
Примера под рукой никакого нет ?
...
Рейтинг: 0 / 0
выделять цветом строку по условию
    #37950859
Primus inter pares
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Посмотри к примеру здесь .
...
Рейтинг: 0 / 0
выделять цветом строку по условию
    #37950879
kim-kong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Primus inter pares,

Большое спасибо, то что нужно !
...
Рейтинг: 0 / 0
выделять цветом строку по условию
    #37951212
kim-kong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если создать несколько css стилей и вбивать их в разметку по условию ?
...
Рейтинг: 0 / 0
выделять цветом строку по условию
    #37951319
Primus inter pares
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вбить их в html тэг <tr> (как я понял тебе именно это нужно) никак не получится. Можно выделить хедер, футер, сделать зебру и выделить выбранный элемент. Больше ничего не предусмотрено.

Можно внутри ячейки писать
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
grid.Column( 
       columnName:"Param",  
       header:"Param",       
       format: (item) =>  
       { 
           var css = @"class=""my-css-color-style""" ; 
           if ((DateTime)item.Date > DateTime.Now)  
           { 
               css = ""; 
           } 
           return Html.Raw("<span " + css + ">" + @item.Date + "</span>");   
       })



Сам думай, красиво так в коде писать или нет, особенно если у тебя 11 колонок.
...
Рейтинг: 0 / 0
выделять цветом строку по условию
    #37959566
kim-kong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Primus inter pares,

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
                                format: (item) =>  
                                       { 
                                           var css = @"class=""my-css-color-style""" ;
                                           if ((DateTime)item.ContractTime > DateTime.Now)  
                                           {
                                               css = "style="color: red;""; 
                                           }
                                           if ((DateTime)item.ContractTime == DateTime.Now)
                                           {
                                               css = "style="color: yellow;"";
                                           }
                                           if ((DateTime)item.ContractTime < DateTime.Now)
                                           {
                                               css = "style="color: green;"";
                                           }
                                           return Html.Raw("<span " + css + ">" + @item.ContractTime + "</span>");
                                       }



что нужно поставить перед символом ", чтобы он не воспринимался как метасимвол ?
...
Рейтинг: 0 / 0
выделять цветом строку по условию
    #37959576
kim-kong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kim-kong,

Разобрался, поставил одинарные ковычки.
...
Рейтинг: 0 / 0
выделять цветом строку по условию
    #37959583
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы эту логику вынес в модель, добавил свойство типа ContractTimeStyle
...
Рейтинг: 0 / 0
выделять цветом строку по условию
    #37959603
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarlexЯ бы эту логику вынес в модель, добавил свойство типа ContractTimeStyle
+1
...
Рейтинг: 0 / 0
выделять цветом строку по условию
    #37960014
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kim-kongPrimus inter pares,

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
                                format: (item) =>  
                                       { 
                                           string css = "col-green";
                                           if ((DateTime)item.ContractTime > DateTime.Now)
                                           {
                                                css = "col-red";
                                           }
                                           return Html.Raw(string.Format("<span class=\"{0}\">{1}</span>", css, item.ContractTime));
                                           /*
                                           if ((DateTime)item.ContractTime == DateTime.Now)
                                           {
                                               css = "style="color: yellow;"";
                                           }
                                           if ((DateTime)item.ContractTime < DateTime.Now)
                                           {
                                               css = "style="color: green;"";
                                           }
                                           return Html.Raw("<span " + css + ">" + @item.ContractTime + "</span>");
                                           */
                                       }



что нужно поставить перед символом ", чтобы он не воспринимался как метасимвол ?

А если немного подумать то - желтым оно не будет (там милисекунды).
Значит один цвет есть по умолчанию и другой по условию.
...
Рейтинг: 0 / 0
выделять цветом строку по условию
    #37960019
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarlexЯ бы эту логику вынес в модель, добавил свойство типа ContractTimeStyle

В модель Contract - html логику? )
...
Рейтинг: 0 / 0
выделять цветом строку по условию
    #37960041
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarlexЯ бы эту логику вынес в модель, добавил свойство типа ContractTimeStyle

Я бы вынес бизнес логику - свойство типа IsContractExpired )

Код: c#
1.
2.
3.
  format: (item) =>
       {
           string css = item.IsContractExpired ? "col-red" : "col-green";
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / выделять цветом строку по условию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]