I've whittled down my project to the following code. If you change the pagesize of the radgrid in this example, the ItemDataBound event will be called each time an item is databound. In my example, I change the HeaderText to the count field, and then I change the first data row's cell to a different color
But only the data item shows the color change. The header item doesn't show any change until the next time I change the page size from the browser, and then it's back at zero where it should have been the first time I changed the page size. In fact, it's always one behind. Why would there be a difference in behavior like this? Is this how it's supposed to work and if so what is the benefit here?
 
 
 
 
 
 
 
 
 
A second question is how would I get the RadButton to induce a rebind of the RadGrid? I could put code to do that in the Page_Load event but only on a postback, but then I get multiple postbacks and a lot of extra work that I don't need. The button is set to update the grid (and itself) but unless I implement the page_load, I'm not going to get anything.
Any help would be appreciated.
                                But only the data item shows the color change. The header item doesn't show any change until the next time I change the page size from the browser, and then it's back at zero where it should have been the first time I changed the page size. In fact, it's always one behind. Why would there be a difference in behavior like this? Is this how it's supposed to work and if so what is the benefit here?
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <title></title>    <telerik:RadStyleSheetManager id="RadStyleSheetManager1" runat="server" /></head><body>    <form id="form1" runat="server">    <asp:ScriptManager ID="ScriptManager1" runat="server">        <Scripts>            <%--Needed for JavaScript IntelliSense in VS2010--%>            <%--For VS2008 replace RadScriptManager with ScriptManager--%>            <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" />            <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" />            <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" />        </Scripts>    </asp:ScriptManager>    <script type="text/javascript">        //Put your JavaScript code here.    </script>    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">        <AjaxSettings>            <telerik:AjaxSetting AjaxControlID="RadGrid1">                <UpdatedControls>                    <telerik:AjaxUpdatedControl ControlID="RadGrid1" />                    <telerik:AjaxUpdatedControl ControlID="RadButton1" />                </UpdatedControls>            </telerik:AjaxSetting>            <telerik:AjaxSetting AjaxControlID="RadButton1">                <UpdatedControls>                    <telerik:AjaxUpdatedControl ControlID="RadGrid1" />                    <telerik:AjaxUpdatedControl ControlID="RadButton1" />                </UpdatedControls>            </telerik:AjaxSetting>        </AjaxSettings>    </telerik:RadAjaxManager>    <div>            <telerik:RadGrid ID="RadGrid1" runat="server" CellSpacing="0" GridLines="None" GroupingEnabled="False"                ShowStatusBar="True" Skin="Windows7" OnNeedDataSource="RadGrid1_NeedDataSource" AllowSorting="True" AllowCustomPaging="True"                AllowPaging="True" OnItemDataBound="RadGrid1ControlItemDataBound" PageSize="20" >                <HeaderContextMenu />                <PagerStyle Mode="NextPrevAndNumeric" AlwaysVisible="True" PageButtonCount="6" ShowPagerText="False" />                <ExportSettings HideStructureColumns="true" ExportOnlyData="true" IgnorePaging="true"                    FileName="FlashSalesExport" OpenInNewWindow="True" />                <MasterTableView AllowCustomSorting="True" CommandItemDisplay="Top">                    <CommandItemSettings ShowExportToCsvButton="true" ShowRefreshButton="False" ShowAddNewRecordButton="False" />                    <PagerStyle PageButtonCount="6" Position="Bottom" Wrap="True" AlwaysVisible="True"                        ShowPagerText="False" />                    <HeaderStyle HorizontalAlign="Center" />                </MasterTableView>                <FilterMenu EnableImageSprites="False" />                <EditItemStyle Font-Bold="True" />            </telerik:RadGrid>    </div>    <telerik:RadButton ID="RadButton1" runat="server"        Text="RadButton">    </telerik:RadButton>    </form></body></html>using System;using Telerik.Web.UI;public partial class Default : System.Web.UI.Page{    protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)    {        RadGrid1.DataSource = new string[]         {             Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), Guid.NewGuid().ToString(),        };    }    private int Count    {        get        {            if (Session["Count"] == null)                Session["Count"] = 0;            else                Session["Count"] = (int)Session["Count"] + 1;            return (int)Session["Count"];        }    }    protected void RadGrid1ControlItemDataBound(object sender, GridItemEventArgs e)    {        if (e.Item is GridHeaderItem)        {            GridHeaderItem item = e.Item as GridHeaderItem;            if (item.OwnerTableView.AutoGeneratedColumns.Length > 0)            {                item.OwnerTableView.AutoGeneratedColumns[0].HeaderText = Count.ToString();            }        }        else if (e.Item is GridDataItem)        {            if (rowcount++ == 0)                e.Item.Cells[2].ForeColor = System.Drawing.Color.Red;        }    }    int rowcount = 0;}A second question is how would I get the RadButton to induce a rebind of the RadGrid? I could put code to do that in the Page_Load event but only on a postback, but then I get multiple postbacks and a lot of extra work that I don't need. The button is set to update the grid (and itself) but unless I implement the page_load, I'm not going to get anything.
Any help would be appreciated.

