How to apply CSS to a GridView Row based on a condition

Assuming you have a GridView with a 'Discontinued' column. You now want to apply a different css class for all the rows that are Discontinued, then here's how to do so.

C#


protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)


{


    if (e.Row.RowType == DataControlRowType.DataRow)


    {


        DataRowView drv = e.Row.DataItem as DataRowView;


        if (drv["Discontinued"].ToString() == "true")


            e.Row.CssClass = "selected";


    }


}




VB.NET


    Protected Sub GridView1_RowDataBound(ByVal sender As Object, _


                                         ByVal e As GridViewRowEventArgs)


        If e.Row.RowType = DataControlRowType.DataRow Then


            Dim drv As DataRowView = TryCast(e.Row.DataItem, DataRowView)


            If drv("Discontinued").ToString() = "true" Then


                e.Row.CssClass = "selected"


            End If


        End If


    End Sub







About The Author

Suprotim Agarwal
Suprotim Agarwal, Developer Technologies MVP (Microsoft Most Valuable Professional) is the founder and contributor for DevCurry, DotNetCurry and SQLServerCurry. He is the Chief Editor of a Developer Magazine called DNC Magazine. He has also authored two Books - 51 Recipes using jQuery with ASP.NET Controls. and The Absolutely Awesome jQuery CookBook.

Follow him on twitter @suprotimagarwal.

No comments: