我有一个可以完美搭配的网格
@Html.Grid(Model.SearchResults).Columns(column =>
{
//grid code here
}).Attributes(@class => "grid", width => "100%")
这被标记为:
.gridrow
{
border-top: 1px solid #DDDDDD;
}
.gridrow_alternate
{
background-color: #F2F2EA;
border-top: 1px solid #DDDDDD;
}
这一切都很好,并将替代颜色放在网格上。
但是,如果返回的数据无效,我想用灰色行覆盖某些网格行。
所以我尝试了 .RowAttributes
.RowAttributes(data => new Hash(@class => data.Item.Inactive ? "inactive" : ""))
随着CSS添加:
.inactive
{
border-top: 1px solid #DDDDDD;
background-color: lightgrey;
}
然而,这会将所有网格行覆盖为“”或“非活动”,因为它需要在 for if else 中包含表达式(或者是否有其他方式来编写它)所以它只有语句的 if 部分?我试图把 if 语句放在那里,但它抱怨我缺少一个 return 语句,所以不能这样做。
我想保持 gridrow 和 gridrow_Alternative 不变,并简单地动态覆盖其中一个......
所以它会从
gridrow gridrow_Alternative gridrow gridrow_Alternative gridrow
成为:
gridrow gridrow_Alternative inactive gridrow_Alternative gridrow
所以它保持交替的色带,然后如果一个是不活动的,它会在 TR 中将那个单独更改为不活动,如下所示:
<tr class="gridrow">
<tr class="gridrow_Alternative">
<tr class="inactive">
<tr class="gridrow_Alternative">
<tr class="gridrow">
有没有人这样做或者他们可以提供帮助,因为我在网上找不到这样的东西,我认为这很奇怪。