如何基于值为NonFactors MVC6 GridView单元格设置背景色
解决MVC6 NonFactors GridView按单元格值设置背景色的问题
方法1:动态绑定列的CSS类
NonFactors GridView的列支持通过委托为每个单元格单独设置CSS类,以此实现根据值区分背景色:
// 以索引1的列为例(索引从0开始) grid.Columns[1].CssClasses = (model, cellValue) => { // 根据单元格值判断并返回对应CSS类 if (cellValue != null && int.TryParse(cellValue.ToString(), out int num)) { if (num > 100) return "bg-high-value"; else if (num < 50) return "bg-low-value"; } return ""; // 默认无特殊样式 };
接着在页面中定义对应的CSS样式:
.bg-high-value { background-color: #d4edda; } .bg-low-value { background-color: #f8d7da; }
方法2:自定义单元格渲染逻辑
如果需要更灵活的控制,可以通过Rendered委托直接输出带样式的单元格内容:
grid.Columns.Add(model => model.TargetProperty, column => { column.Rendered = (model, cellValue) => { string bgClass = ""; if (cellValue != null && (int)cellValue > 100) bgClass = "bg-high-value"; else if (cellValue != null && (int)cellValue < 50) bgClass = "bg-low-value"; return $"<td class='{bgClass}'>{cellValue}</td>"; }; });
注意事项
- 确保CSS样式已正确引入到页面(可在布局页引用或当前视图内定义)
- 处理复杂类型值时,需做好类型转换和空值判断,避免运行时异常
内容的提问来源于stack exchange,提问作者user18179247
相关产品推荐
相关产品推荐

