This is a migrated thread and some comments may be shown as answers.

Change the color of a specific row

3 Answers 164 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Ronan BARRANGER
Top achievements
Rank 1
Ronan BARRANGER asked on 05 Mar 2012, 09:26 AM
Greetings,

I have in my grid a GridTemplateColumn which display "INDEF" or "MA". When it's "INDEF", i would like my row to change of color:


this is my try:

protected void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
    if (e.Item is GridDataItem)
    {
        GridDataItem item = (GridDataItem)e.Item;
 
        if (item["typedestickets"].Text == "INDEF")
        {
            item.BackColor = System.Drawing.Color.Red;
        }
    }
}
The column in question:


                <telerik:GridTemplateColumn  HeaderText="Type de tickets"
    UniqueName="typedestickets">
    <ItemTemplate><asp:Label id="test" runat="server"></asp:Label></ItemTemplate>
</telerik:GridTemplateColumn>


Thanks in advance for your help

3 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 05 Mar 2012, 09:33 AM
Hello,

Try the following code.
C#:
protected void grid_ItemDataBound(object sender, GridItemEventArgs e)
{
 if (e.Item is GridDataItem)
 {
   GridDataItem item = (GridDataItem)e.Item;
   Label lbl = (Label)item.FindControl("test");
   if (lbl.Text == "INDEF")
   {
    lbl.ForeColor = System.Drawing.Color.Red;
   }
 }
}

-Shinu.
0
Ronan BARRANGER
Top achievements
Rank 1
answered on 05 Mar 2012, 09:38 AM
Strange, this does not work. Nothing happens...
0
Ronan BARRANGER
Top achievements
Rank 1
answered on 05 Mar 2012, 10:25 AM
Ok i noticed by adding a break point e.Item was not GridDataItem but GridPagerItem (i don't know why)


So i tried this:

protected void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
    if (e.Item is GridPagerItem)
    {
        GridPagerItem item = (GridPagerItem)e.Item;
        Label lbl = (Label)item.FindControl("test");
 
 
 
        if (lbl.Text == "INDEF")
        {
            lbl.ForeColor = System.Drawing.Color.Red;
            item.BackColor = System.Drawing.Color.Red;
            lbl.BackColor = System.Drawing.Color.Red;
             
        }
    }
}

The problem is lbl appears to be undefined... i don't understand why either...
Tags
Grid
Asked by
Ronan BARRANGER
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Ronan BARRANGER
Top achievements
Rank 1
Share this question
or