This is my first time using telerik controls. I am using gridview with grouping enabled.I am changing gridview row color programmatically but after grouping , if I expand or collapse groups it changes the bgcolor to default.eher is my code:-
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/ITIMaster.Master" CodeBehind="EmailList.aspx.vb" Inherits="EmailAlertsMonitor.EmailList" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <asp:HiddenField ID="hdAlertState" runat ="server" /> <telerik:RadGrid ID="gvEmailList" runat="server" AllowSorting="True" CellSpacing="0" DataSourceID="SqlDataSource1" GridLines="None" ShowGroupPanel="True" Skin="Outlook" > <ClientSettings AllowDragToGroup="True"> <Selecting AllowRowSelect="True" /> </ClientSettings> <MasterTableView AutoGenerateColumns="False" DataKeyNames="Alert_ID" DataSourceID="SqlDataSource1"> <GroupByExpressions > <telerik:GridGroupByExpression > <SelectFields > <telerik:GridGroupByField FieldAlias ="Email_Subject" FieldName ="Email_Subject" /> </SelectFields> <GroupByFields > <telerik:GridGroupByField FieldName ="Email_Subject" HeaderText ="Subject" /> </GroupByFields> </telerik:GridGroupByExpression> </GroupByExpressions> <CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings> <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"> <HeaderStyle Width="20px"></HeaderStyle> </RowIndicatorColumn> <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"> <HeaderStyle Width="20px"></HeaderStyle> </ExpandCollapseColumn> <Columns> <telerik:GridBoundColumn DataField="Alert_State" FilterControlAltText="Filter Alert_State column" HeaderText="Alert_State" SortExpression="Alert_State" UniqueName="Alert_State" ItemStyle-Width ="50px"> <ItemStyle Width="50px"></ItemStyle> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Email_Subject" FilterControlAltText="Filter Email_Subject column" HeaderText="Email_Subject" SortExpression="Email_Subject" UniqueName="Email_Subject" ItemStyle-Width ="200px"> <ItemStyle Width="200px"></ItemStyle> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Email_Sender" FilterControlAltText="Filter Email_Sender column" HeaderText="Email_Sender" SortExpression="Email_Sender" UniqueName="Email_Sender" ItemStyle-Width ="100px"> <ItemStyle Width="100px"></ItemStyle> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Email_DateReceived" DataType="System.DateTime" FilterControlAltText="Filter Email_DateReceived column" HeaderText="Email_DateReceived" SortExpression="Email_DateReceived" UniqueName="Email_DateReceived" ItemStyle-Width ="80px"> <ItemStyle Width="80px"></ItemStyle> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Alert_Level_Descr" FilterControlAltText="Filter Alert_Level_Descr column" HeaderText="Alert_Level_Descr" SortExpression="Alert_Level_Descr" UniqueName="Alert_Level_Descr" ItemStyle-Width ="100px"> <ItemStyle Width="100px"></ItemStyle> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Alert_Source" FilterControlAltText="Filter Alert_Source column" HeaderText="Alert_Source" SortExpression="Alert_Source" UniqueName="Alert_Source" ItemStyle-Width ="100px"> <ItemStyle Width="100px"></ItemStyle> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Alert_Server" FilterControlAltText="Filter Alert_Server column" HeaderText="Alert_Server" SortExpression="Alert_Server" UniqueName="Alert_Server"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText ="" > <ItemTemplate > <asp:HiddenField ID="hdColorCode" runat ="server" Value ='<%#EVAL("Alert_Level_Color_Code") %>' /> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn> </EditFormSettings> </MasterTableView> <FilterMenu EnableImageSprites="False"></FilterMenu> <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu> </telerik:RadGrid> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DBConnectionString %>" SelectCommand="SELECT Alert_Emails.Alert_ID, Alert_Emails.Email_ToAddresses, Alert_Emails.Email_Sender, Alert_Emails.Email_DateReceived, Alert_Emails.Email_Subject, Alert_Emails.EMail_Body, Alert_Emails.Alert_Level, Alert_Emails.Alert_Source, Alert_Emails.Alert_Server, Alert_Emails.Alert_State, Alert_Level.Alert_Level AS Alert_Level_Descr, Alert_Level.Alert_Level_Color_Code FROM Alert_Emails INNER JOIN Alert_Level ON Alert_Emails.Alert_Level = Alert_Level.Alert_Level_ID WHERE (Alert_Emails.Alert_State = @alertState) ORDER BY Alert_Emails.Alert_Level, Alert_Emails.Email_DateReceived DESC"> <SelectParameters> <asp:Parameter Name="alertState" /> </SelectParameters> </asp:SqlDataSource> </asp:Content> Imports System.Drawing Imports System.Data Imports System.Data.SqlClient Public Class EmailList Inherits System.Web.UI.Page Dim alertState As String Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Page.IsPostBack = False Then alertState = Request.QueryString("State") Me.hdAlertState.Value = alertState LoadGrid() End If End Sub Private Sub LoadGrid() SqlDataSource1.SelectParameters("alertState").DefaultValue = hdAlertState.Value SqlDataSource1.Select(DataSourceSelectArguments.Empty) gvEmailList.DataBind() End Sub Private Sub gvEmailList_ItemDataBound(sender As Object, e As Telerik.Web.UI.GridItemEventArgs) Handles gvEmailList.ItemDataBound If e.Item.ItemType = Telerik.Web.UI.GridItemType.Item Or e.Item.ItemType = Telerik.Web.UI.GridItemType.AlternatingItem Then Dim alertColorCode As String = DirectCast(e.Item.FindControl("hdColorCode"), HiddenField).Value e.Item.BackColor = Color.FromName(alertColorCode) End If End Sub End Class