4

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

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

有什么例子吗?

谢谢你

4

2 回答 2

3

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

如果不是这种情况,您可以data-使用 WebGridColumn 的 Format 属性为表格行中的第一个单元格设置一个属性。在这里,我的表的第一列包含超链接 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,我找到表中在行的第一个单元格中具有锚点的所有行,并将该行的类设置为“错误”。

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

希望这可以帮助。

于 2013-10-14T18:19:43.577 回答
1

jQuery是一个选项吗?如果是这样,请查看:http://devpinoy.org/blogs/keithrull/archive/2010/06/09/how-to-change-table-cell-color-depending-on-its-value-using-jquery。 aspx

于 2012-10-18T08:10:02.660 回答