我有一个带有很多coloumn的Webgrid。 其中一列是截止日期。 我需要根据条件更改每个条目的颜色。 根据条件,我在视图模型中添加了一个名为“ColorCode”的颜色代码属性。 这种颜色可以是“红色”,“黄色”或“绿色”。
我的DueDate列如下:
taskgrid.Column("DueDate", "Due Date", style: "DueDate", canSort: true, format: (item) => item.DueDate.ToShortDateString()),
这里的coloumn有“DueDate”类。 我想把它作为“DueDate red”,“DueDate yellow”或“DueDate green” 来自“item => item.ColorCode” 即:
style:“DueDate”+ item => item.ColorCode
答案 0 :(得分:2)
WebGrid助手不支持此功能。一种可能的解决方法是将样式应用于<td>
而不是内部的项目:
taskgrid.Column(
"DueDate",
"Due Date",
canSort: true,
format:
@<text>
<div class="DueDate @item.ColorCode">
@item.DueDate.ToShortDateString()
</div>
</text>
),
其他可能的 hacks 涉及使用javascript将移动生成的类从内部<div>
移动到父<td>
,如果它对您来说绝对必要将此类应用于<td>
。
答案 1 :(得分:1)
上面的代码修改如下:
taskgrid.Column("DueDate",header:"Due Date",format: @<text><div class="@((@item.Approved)?"reject-icon":"approve-icon")">@item.DueDate</div></text>)
答案 2 :(得分:0)
尝试以下方法:它适合我。我在class属性中使用了条件语句。
class= "@((item.Approved)?"reject-icon":"approve-icon")"