I currently am trying to perform a rebind of the Grid through AJAX whenever a node on a RadTreeView control is clicked. The new data is successfully rebound, but for some reason the ability after rebinding I loose the ability to select items inside the grid.
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <ClientEvents /> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="rtFiles" EventName="OnNodeClick"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="grdFiles" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadSplitter ID="Splitter" Width="100%" runat="server"> <telerik:RadPane ID="Pane1" runat="server"> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server"> </telerik:RadAjaxLoadingPanel> <telerik:RadTreeView ID="rtFiles" runat="server" EnableAjaxSkinRendering="true" AllowNodeEditing="false" OnClientContextMenuItemClicking="rtFiles_onClientContextMenuItemClicking" oncontextmenuitemclick="rtFiles_ContextMenuItemClick" onnodeedit="rtFiles_NodeEdit" OnNodeClick="rtFiles_NodeClick" > <ContextMenus> <telerik:RadTreeViewContextMenu ID="fileContextMenu"> <Items> <telerik:RadMenuItem Text="Rename" Value="rename" PostBack="false"></telerik:RadMenuItem> <telerik:RadMenuItem Text="Delete" Value="delete"></telerik:RadMenuItem> </Items> </telerik:RadTreeViewContextMenu> <telerik:RadTreeViewContextMenu ID="albumContextMenu"> <Items> <telerik:RadMenuItem Text="New Album" Value="newAlbum"></telerik:RadMenuItem> <telerik:RadMenuItem Text="Upload File" Value="uploadFile"></telerik:RadMenuItem> <telerik:RadMenuItem Text="Rename" Value="rename" PostBack="false"></telerik:RadMenuItem> <telerik:RadMenuItem Text="Delete" Value="delete"></telerik:RadMenuItem> </Items> </telerik:RadTreeViewContextMenu> </ContextMenus> </telerik:RadTreeView> </telerik:RadPane> <telerik:RadSplitBar ID="Split1" CollapseMode="Backward" runat="server" /> <telerik:RadPane ID="Pane2" runat="server"> <telerik:RadGrid ID="grdFiles" Width="100%" runat="server" AllowMultiRowSelection="true" onneeddatasource="grdFiles_NeedDataSource" OnItemDataBound="grdFiles_ItemDataBound" > <SelectedItemStyle BackColor="Red" /> <MasterTableView ShowHeader="true" UseAllDataFields="false" AutoGenerateColumns="false" RetrieveAllDataFields="false"> <Columns> <telerik:GridTemplateColumn HeaderText="File Name" > <HeaderStyle Width="20px" /> <ItemTemplate> <img src="/internetsite/Images/Icons/<%# Convert.ToBoolean(Convert.ToString(DataBinder.Eval(Container.DataItem, "Title")).Contains("."))? Convert.ToString(DataBinder.Eval(Container.DataItem, "Title")).Substring(Convert.ToString(DataBinder.Eval(Container.DataItem, "Title")).LastIndexOf(".") + 1) + ".gif" : "folder.gif" %>" /> <%# DataBinder.Eval(Container.DataItem, "Title") %> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView> <ClientSettings EnableRowHoverStyle="true"> <Selecting AllowRowSelect="true" /> </ClientSettings> </telerik:RadGrid> </telerik:RadPane> </telerik:RadSplitter>protected void grdFiles_NeedDataSource(object source, GridNeedDataSourceEventArgs e) { string strValue; if (rtFiles.SelectedNode == null) { strValue = rtFiles.Nodes[0].Value; } else { strValue = rtFiles.SelectedNode.Value; } reloadDataSource_grdFiles(int.Parse(strValue.Substring(strValue.IndexOf("_") + 1))); } protected void reloadDataSource_grdFiles(int intId) { grdFiles.MasterTableView.DataKeyNames = new string[] { "Id", "Title" }; grdFiles.DataSource = myDataSource(intID); }