2012-09-19 45 views
4

我正在使用WebGrid顯示項目列表,Webgrid MVC 3條件行樣式

我喜歡根據條件設置行的背景顏色。我想設置整行的背景顏色,而不僅僅是一個單元格。

任何示例?

謝謝

回答

3

這是一個古老的問題,但我只是偶然發現並有一個答案,我不認爲太hacky。前面提供的答案僅適用於如果您用於有條件地更改背景顏色的值是表格單元格的值。

如果不是這種情況,您可以使用WebGridColumn的Format屬性爲表格行中的第一個單元格設置data-屬性。在這裏,我的表的第一列包含超鏈接的ID。我在我的代碼隱藏(MVC中的控制器操作)中定義它,並且從對象的IsInError屬性中添加了data-in-error屬性。您可以以任何對您的應用程序有意義的方式設置此屬性的值。

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'); 
    }); 
}); 

希望這會有所幫助。