riyam hussain mm Ответов: 2

Я хочу раскрасить строки HTML таблицы на основе условия


<tr style='<%#Eval("IsReportGenerated")==1 ? 'background-color:#fdc433':'background-color:#b2e071'%>'>
я пробовал это для окраски что не так в коде thins

Что я уже пробовал:

<tr style='<%#Eval("IsReportGenerated")==1 ? 'background-color:#fdc433':'background-color:#b2e071'%>'>

2 Ответов

Рейтинг:
1

MadMyche

Что бы я сделал, так это определил некоторые стили CSS, специфичные для этой цели

<style type="text/css">
.ReportGenerated0 { background-color:#b2e071; }
.ReportGenerated1 { background-color:#fdc433; }
</style>
А потом в пределах TR вы могли бы применить этот класс, что-то вроде этого
<tr class="ReportGenerated<%IsReportGenerated.ToSting()%>">


phil.o

Вы сделали опечатку в имени класса CSS :)

MadMyche

обновлено после того, как я получил еще кофе

Richard MacCutchan

Я думаю, что мы все должны больше использовать ToSting метод. :)

Рейтинг:
1

Richard Deeming

Две проблемы с вашим исходным кодом:

1) код внутри <% ... %> теги-это C#. (или VB.NET в зависимости от языка, который вы используете.)
В C#, одиночная кавычка используется для обозначения одного char- но вы же пытались поместить туда целую вереницу таких людей. Вместо этого вам нужно использовать двойные кавычки.

2) Eval("...") возвращает object. Вы не можете использовать == оператор для сравнения object и int Сначала вам нужно будет привести или преобразовать возвращаемое значение.

Учитывая название вашего поля, я подозреваю, что фактическое значение-это bool, так:

<tr style='<%# (bool)Eval("IsReportGenerated") ? "background-color:#fdc433;" : "background-color:#b2e071;" %>'>


Maciej Los

5ed!