Click here to Skip to main content
Click here to Skip to main content

Tagged as

Changing the color of a row in a GridView in ASP.NET

, 27 Aug 2011 CPOL
Rate this:
Please Sign up or sign in to vote.
How to change the color of a row in a GridView in ASP.NET.

This article describes changing the color of a GridView row depending on the value of a column and changing the value of a column depending on the value of that column.

First, let's start with binding a GridView with data from the database. Create a GridView.

<asp:GridView ID="grdDoc" runat="server" AllowPaging="True" 
        AutoGenerateColumns="False" DataKeyNames="DOCCODE" Height="40px" 
        PageSize="8" ShowFooter="True"   Visible="false" 
        onpageindexchanging="grdDoc_PageIndexChanging" 
        onselectedindexchanged="grdDoc_SelectedIndexChanged" >
    <PagerSettings Mode="NumericFirstLast" />
    <RowStyle BackColor="WhiteSmoke" BorderColor="CornflowerBlue" 
        ForeColor="Black" Height="30px" />
    <Columns>
        <asp:TemplateField HeaderText="Dose">
            <ItemTemplate>
                <asp:LinkButton ID="LinkButton1" runat="server" 
                      CommandName="select" 
                      Text='<%#Eval("DOCCODE")%>'>
                </asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:BoundField DataField="DOCNAME" HeaderText="Description" />
        <asp:BoundField DataField="DOCDEPT" HeaderText="Description" />
        <asp:BoundField DataField="DOCACTIVE" HeaderText="Description" />
    </Columns>
    <FooterStyle BackColor="Silver" Height="25px" />
    <PagerStyle BackColor="DarkGray" />
    <HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
</asp:GridView>

Load data from a database:

protected void Page_Load(object sender, EventArgs e)
{
    string strSQLconnection = 
      "Data Source=dbServer;Initial Catalog=testDB;Integrated Security=True";
    SqlConnection sqlConnection = new SqlConnection(strSQLconnection);
    SqlCommand sqlCommand = new SqlCommand("select DOCCODE,DOCNAME," + 
        "DOCDEPT, DOCACTIVE from DOCTORS", sqlConnection);
    sqlConnection.Open();
    SqlDataReader reader = sqlCommand.ExecuteReader();
    grdDoc.DataSource = reader;
    grdDoc.DataBind();
}

Change the color of a row depending on whether the Doctor is Active or Inactive.

protected void grdDoc _RowDataBound(object sender, GridViewRowEventArgs e)
{
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if ((string.IsNullOrEmpty(e.Row.Cells[3].Text) != true) || 
                       (e.Row.Cells[3].Text != "&nbsp;"))
            {
                Char result = Convert.ToInt32(e.Row.Cells[3].Text);
                if (result == ‘Y’) e.Row.BackColor = System.Drawing.Color.Aqua;
                else if (result ==’N’) e.Row.BackColor = System.Drawing.Color.Cornsilk;
            }
       }
    }
}

First, we need to check if the data in the fourth column is null or the column is empty. If the Doctor is Active, then the row color will be AQUA. Or else the Color of the row will be CORNSILK.

Change the Color of the cells depending on the Value of a column:

protected void grdDoc _RowDataBound(object sender, GridViewRowEventArgs e)
{
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if ((string.IsNullOrEmpty(e.Row.Cells[3].Text) != true) 
                  || (e.Row.Cells[3].Text != "&nbsp;"))
            {
                string result = Convert.ToInt32(e.Row.Cells[2].Text);
                if (result == “M.S”)
                    e.Row.Cells[3].BackColor= System.Drawing.Color. Aquamarine;
                else
                    e.Row.Cells[3].BackColor= System.Drawing.Color. BlanchedAlmond;
            }
        }
    }
}

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

raj ch

India India
No Biography provided

Comments and Discussions

 
GeneralMy vote of 4 PinmemberUpasak Poddar8-Jul-13 23:58 
Questionchange colours in rows of gridview PinmemberMember 96818625-Feb-13 0:45 
QuestionNice PinmemberJrPacheco7-Nov-12 4:08 
GeneralReason for my vote of 4 good code !! PinmemberSunnykumar0831-Oct-11 22:37 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.150331.1 | Last Updated 27 Aug 2011
Article Copyright 2011 by raj ch
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid