问题描述
我有一个动态表,我想将按field1和field2分组的行背景色更改为不同的颜色。 我做了如下代码,但无法正常工作。
var count = 0;
var color = new string[] { " odd"," even" };
var val1 = "";
var val2 = "";
foreach (var val in Model.listofFields)
{
if (val1 == "" && val2== "")
{
val1 = val.field1;
val2 = val.field2;
}
if (val1 == val.field1 && val2 == val.field2)
{
count = 0;
}
else if ((val1 != val.field1 && val2 != val.field2))
{
count = 1;
val1 = val.field1;
val2 = val.field2;
}
else
{
count = 1;
val1 = "";
val2 = "";
}
<tr class="@color[count]">
<td>@val.field1</td>
<td>@val.field2</td>
<td>@val.field3</td>
<td>@val.field4</td>
<td>@val.field5</td>
<td>@val.field5</td>
</tr>
}
还附加了示例
的文件解决方法
您必须在一个比较变量中设置值,这将帮助您为组着色。
var val1 = "";
string color = "odd";
foreach (var val in Model.listofFields)
{
if (val1 != (val.field1 + val.field2))
{
color = color == "odd" ? "even" : "odd" ;
val1 = (val.field1 + val.field2);
}
<tr class="@color">
<td>@val.field1</td>
<td>@val.field2</td>
<td>@val.field3</td>
<td>@val.field4</td>
<td>@val.field5</td>
<td>@val.field5</td>
</tr>
}