需要比较单元格值然后根据结果更改背景

Need to compare cell values then change background depending on result

编辑:我找到的唯一答案是使用 tables,而不是 div,所以它们并没有真正帮助我。我没有使用实际的 table,而是用 div 模拟 table。

我将 div 样式设置为 table,并且我需要能够比较一行中的 2 个单元格,然后在 budget 单元格时更改该行的背景颜色值小于 actual 单元格值。我对 MVC 和一般网页设计还很陌生。

这是我使用从数据库中提取的数据创建 table 的代码:

<div class="table">
    <div class="header">
        <div class="cell">Client Name</div>
        <div class="cell">Project Name</div>
        <div class="cell">Budget</div>
        <div class="cell">Budget Used</div>
    </div>
    @foreach (var client in Model)
    {
    <div class="row">
        <div class="cell">@client.Client_name</div>
        <div class="cell">@client.Project_name</div>
        <div class="cell">@client.Project_budget</div>
        <div class="cell">@client.Project_actual</div>
    </div>
    }
</div>

这是我在 css 中设置 table 样式的地方:

.table {
    display:table;
}
.header {
    display:table-header-group;
    font-weight:bold;
}
.row {
    display:table-row;
}
.rowGroup {
    display:table-row-group;
}
.cell {
    display:table-cell;
    width:27%;
    color:#696969;
    border-bottom:solid 1px #5ec5ca;
    border-left:solid 1px #5ec5ca;
    border-right:solid 1px #5ec5ca;
    border-top:solid 1px #5ec5ca;
}

我通过为每个单元格的 class 名称使用一个变量,并根据这些值更改变量来解决这个问题。

@foreach (var client in Model)
        {
            double calcPercent = ((@client.Project_actual / @client.Project_budget) * 100);
            string percent = String.Format("{0:0.00}", calcPercent);
            string cell = "cell";
            if (calcPercent > 100) { cell = "redCell"; }
            <div class="row">
                <div class="@cell">@client.Client_name</div>
                <div class="@cell">@client.Project_name</div>
                <div class="@cell">@client.Project_budget</div>
                <div class="@cell">@client.Project_actual</div>
                <div class="@cell">@percent</div>
            </div>
        }

CSS:

.cell {
    display:table-cell;
    width:27%;
    color:#696969;
    border-bottom:solid 1px #5ec5ca;
    border-left:solid 1px #5ec5ca;
    border-right:solid 1px #5ec5ca;
    border-top:solid 1px #5ec5ca;
    background-color:#CEF6F5;
}
.redCell {
    display:table-cell;
    width:27%;
    color:#696969;
    border-bottom:solid 1px #5ec5ca;
    border-left:solid 1px #5ec5ca;
    border-right:solid 1px #5ec5ca;
    border-top:solid 1px #5ec5ca;
    background-color:red;
}