In this article I will explain with an example, how to highlight GridView Row based on some condition in ASP.Net using C# and VB.Net.
	
		A loop will be executed and values of each GridView Row will be checked, then based on some condition the GridView Row will be highlighted by changing its Background color.
	
		 
	
		 
	
		HTML Markup
	
		The following HTML markup consists of an ASP.Net GridView consisting of two BoundField columns.
	
		
			<asp:GridView ID="GridView1" CssClass="Grid" runat="server" AutoGenerateColumns="false" OnRowDataBound="OnRowDataBound">
		
			    <Columns>
		
			        <asp:BoundField DataField="Item" HeaderText="Item"/>
		
			        <asp:BoundField DataField="Quantity" HeaderText="Quantity"/>
		
			    </Columns>
		
			</asp:GridView>
	 
	
		 
	
		 
	
		Namespaces
	
		You will need to import the following namespaces.
	
		C#
	
		
			using System.Data;
		
			using System.Drawing;
	 
	
		 
	
		VB.Net
	
		
			Imports System.Data
		
			Imports System.Drawing
	 
	
		 
	
		 
	
		Binding the ASP.Net GridView control
	
		Inside the Page Load event, the GridView is populated using a DataTable with some dummy data.
	
	
		 
	
		C#
	
		
			protected void Page_Load(object sender, EventArgs e)
		
			{
		
			    if (!IsPostBack)
		
			    {
		
			        DataTable dt = new DataTable();
		
			        dt.Columns.AddRange(new DataColumn[2] { new DataColumn("Item"), new DataColumn("Quantity") });
		
			        dt.Rows.Add("Shirt", 145);
		
			        dt.Rows.Add("Jeans", 0);
		
			        dt.Rows.Add("Trousers", 190);
		
			        dt.Rows.Add("Tie", 30);
		
			        dt.Rows.Add("Cap", 0);
		
			        dt.Rows.Add("Hat", 90);
		
			        dt.Rows.Add("Scarf", 290);
		
			        dt.Rows.Add("Belt", 150);
		
			        GridView1.DataSource = dt;
		
			        GridView1.DataBind();
		
			    }
		
			}
	 
	
		 
	
		VB.Net
	
		
			Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
		
			    If Not IsPostBack Then
		
			        Dim dt As New DataTable()
		
			        dt.Columns.AddRange(New DataColumn(1) {New DataColumn("Item"), New DataColumn("Quantity")})
		
			        dt.Rows.Add("Shirt", 145)
		
			        dt.Rows.Add("Jeans", 0)
		
			        dt.Rows.Add("Trousers", 190)
		
			        dt.Rows.Add("Tie", 30)
		
			        dt.Rows.Add("Cap", 0)
		
			        dt.Rows.Add("Hat", 90)
		
			        dt.Rows.Add("Scarf", 290)
		
			        dt.Rows.Add("Belt", 150)
		
			        GridView1.DataSource = dt
		
			        GridView1.DataBind()
		
			    End If
		
			End Sub
	 
	
		 
	
		 
	
		Highlighting GridView Row as per some condition in ASP.Net
	
		Inside the OnRowDataBound event handler of the GridView, the Cell value is compared with different quantity ranges and based on the following quantity range values, the GridView Row is highlighted i.e. the background color of the GridView Row is changed.
	
		
			
				| 
					 
						Quantity Range 
				 | 
				
					 
						Background Color 
				 | 
			
			
				| 
					 
						0 
				 | 
				
					 
						RED 
				 | 
			
			
				| 
					 
						1 - 50 
				 | 
				
					 
						YELLOW 
				 | 
			
			
				| 
					 
						51 - 100 
				 | 
				
					 
						ORANGE 
				 | 
			
		
	
	
		 
	
		C#
	
		
			protected void OnRowDataBound(object sender, GridViewRowEventArgs e)
		
			{
		
			    if (e.Row.RowType == DataControlRowType.DataRow)
		
			    {
		
			        int quantity = int.Parse(e.Row.Cells[1].Text);
		
			 
		
			        foreach (TableCell cell in e.Row.Cells)
		
			        {
		
			            if (quantity == 0)
		
			            {
		
			                cell.BackColor = Color.Red;
		
			            }
		
			            if (quantity > 0 && quantity <= 50)
		
			            {
		
			                cell.BackColor = Color.Yellow;
		
			            }
		
			            if (quantity > 50 && quantity <= 100)
		
			            {
		
			                cell.BackColor = Color.Orange;
		
			            }
		
			        }
		
			    }
		
			}
	 
	
		 
	
		VB.Net
	
		
			Protected Sub OnRowDataBound(sender As Object, e As GridViewRowEventArgs)
		
			    If e.Row.RowType = DataControlRowType.DataRow Then
		
			        Dim quantity As Integer = Integer.Parse(e.Row.Cells(1).Text)
		
			 
		
			        For Each cell As TableCell In e.Row.Cells
		
			            If quantity = 0 Then
		
			                cell.BackColor = Color.Red
		
			            End If
		
			            If quantity > 0 AndAlso quantity <= 50 Then
		
			                cell.BackColor = Color.Yellow
		
			            End If
		
			            If quantity > 50 AndAlso quantity <= 100 Then
		
			                cell.BackColor = Color.Orange
		
			            End If
		
			        Next
		
			    End If
		
			End Sub
	 
	
		 
	
		 
	
		Screenshot
	
	
		 
	
		 
	
		Demo
	
	
		 
	
		 
	
		Downloads