Also, googling I found the following code that does similar to what I was
doing.
But he didn't have any labels but had BoundFields. Why would that work?
*******************************************
<%@ Page Language="C#" %>
<html xmlns="
http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Using the RowCreated Event to programmatically change the
style</title>
<script runat="server">
protected void gridProducts_RowCreated(object sender,
GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
int daysToManufacture = (int)DataBinder.Eval(e.Row.DataItem,
"DaysToManufacture");
if (daysToManufacture == 0)
{
e.Row.BackColor = System.Drawing.Color.LightPink;
e.Row.ForeColor = System.Drawing.Color.Maroon;
}
else if (daysToManufacture == 1)
{
e.Row.BackColor = System.Drawing.Color.LightCyan;
e.Row.ForeColor = System.Drawing.Color.DarkBlue;
}
else
{
e.Row.BackColor = System.Drawing.Color.LightGray;
e.Row.ForeColor = System.Drawing.Color.Red;
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:SqlDataSource ID="productsSource" runat="server"
ProviderName="System.Data.SqlClient"
ConnectionString="<%$ ConnectionStrings:AdventureWorks %>"
SelectCommand="Select ProductID, Name, ProductNumber,
DaysToManufacture from Production.Product">
</asp:SqlDataSource>
<asp:GridView runat="server" ID="gridProducts"
DataSourceID="productsSource"
AutoGenerateColumns="false"
OnRowCreated="gridProducts_RowCreated">
<Columns>
<asp:BoundField DataField="ProductID" HeaderText="ID" />
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:BoundField DataField="ProductNumber"
HeaderText="Number" />
<asp:BoundField DataField="DaysToManufacture"
HeaderText="Days To Manufacture" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
*******************************************
Thanks,
Tom