更改表格中最高编号的背景颜色

时间:2014-07-28 00:16:13

标签: c# asp.net razor

我有一张桌子,我希望每列中的最高编号为黄色背景。实现这一目标的最佳方法是什么?

在这里你可以看到我的表格代码:

<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.Naam)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Bier)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Frisdrank)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Chips)
        </th>
    </tr>

@foreach (var item in Model)
{
    <tr>
        <td>
            @Html.ActionLink(item.Naam, "Details", new { id = item.Id })
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Bier)
            @{AantalBier += item.Bier;}
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Frisdrank)
            @{AantalFrisdrank += item.Frisdrank;}
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Chips)
            @{AantalChips += item.Chips;}
        </td>
    </tr>
}
    <tr style="background-color:#d9e6c4">
        <th>
            Totaal
        </th>
        <th>
            @AantalBier
        </th>
        <th>
            @AantalFrisdrank
        </th>
        <th>
            @AantalChips
        </th>
    </tr>    
</table>

1 个答案:

答案 0 :(得分:2)

我会使用OrderBy linq扩展方法对模型进行排序,然后最高值将出现在表格的顶部,并且我突出显示第一行。

但是,如果您不想出于某种原因对模型进行排序,可以通过调用Max方法检查该值是否为最大值。

例如:

foreach (var i in Model){
     if (i.Number == Model.Max(x=> x.Number))
        <td style="background:yellow">Something</td>
     else 
         <td>Something</td>
}