Webgrid MVC 3条件行样式

时间:2012-09-19 05:57:12

标签: asp.net-mvc-3 webgrid

我正在使用WebGrid显示项目列表

我喜欢根据条件设置行的背景颜色。我想设置整行的背景颜色,而不只是一个单元格。

任何一个例子?

谢谢

2 个答案:

答案 0 :(得分:3)

这是一个古老的问题,但我偶然发现它并得到一个我认为不太讨厌的答案。提供的上一个答案仅在您用于有条件地更改背景颜色的值是表格单元格的值时才有效。

如果不是这种情况,您可以使用WebGridColumn的Format属性为表行中的第一个单元格设置data-属性。这里,我表的第一列包含超链接ID。我在我的代码隐藏(MVC中的控制器操作)中定义了它,并且我在我的对象的data-in-error属性中添加了IsInError属性。您可以以适合您的应用程序的任何方式设置此属性的值。

new WebGridColumn 
{ 
    ColumnName = "Id", 
    Header = "ID", 
    Format = (x) => new HtmlString(String.Format("<a href=\"#\" data-in-error=\"{0}\">{1}</a>", x.Value.IsInError, x.Value.Id))
});

然后,使用jQuery,我发现我的表中的所有行在该行的第一个单元格中都有一个锚点,并将该行的类设置为“error”。

$(document).ready(function () {
    $('table tbody tr td:first-child a[data-in-error="True"]').each(function () {
        $(this).parent().parent().addClass('error');
    });
});

希望这有帮助。

答案 1 :(得分:1)