Ive traced through the code and this works ok, the problem is that the grid is never refreshed, the HTML stays the same even though there are now no rows to display. In my code that does the deletion I've used Rebind() which I thought woud work.
| private void DeleteSubCategories() |
| { |
| int id = -1; |
| string res = string.Empty; |
| bool ok = Int32.TryParse(this.HiddenArtistID.Value, out id); |
| if (ok) |
| { |
| res = categorymanager.DeleteAllSecondaryCategories(id); |
| if (!string.IsNullOrEmpty(res)) |
| { |
| RadGridSecondaryCategories.Controls.Add(new LiteralControl("Unable to delete secondary categories. Reason: " + res)); |
| } |
| RadGridSecondaryCategories.Rebind(); |
| } |
| } |
The rebind does cause the NeedDataSource event to fire and no data is returned, so I how do I get the grid to refresh and show no rows ?
I have used a RADAJAX manager and added the grid to it in the PageLoad event
| _RADAJAXManager = (Telerik.Web.UI.RadAjaxManager)Master.FindControl("RadAjaxManager1"); |
| if (_RADAJAXManager != null) |
| { |
| _RADAJAXManager.AjaxSettings.AddAjaxSetting(this.RadGridSecondaryCategories, this.RadGridSecondaryCategories, this.RadAjaxLoadingPanel1); |
| } |
<
telerik:RadSplitter ID="RadSplitter1" runat="server" Width="100%" Height="100%" Orientation="vertical">
<telerik:RadPane ID="radPane1" runat="server" Scrolling="None">
<telerik:RadSplitter ID="treeSplitter" runat="server" Width="100%" Height="100%" Orientation="horizontal">
<telerik:RadPane ID="treePane" runat="server">
<div class="containerHeading">
<span>TreeView</span>
</div>
</telerik:RadPane>
<telerik:RadSplitBar ID="SplitterBar2" runat="server" />
<telerik:RadPane ID="controlsPane" runat="server">
<div class="containerHeading">
<span>Controls</span>
</div>
</telerik:RadPane>
</telerik:RadSplitter>
</telerik:RadPane>
<telerik:RadSplitBar ID="radSplitterBar1" runat="server" />
<telerik:RadPane ID="radPane2" runat="server" Scrolling="None">
<telerik:RadSplitter ID="RadSplitter2" runat="server" Width="100%" Height="100%" Orientation="horizontal" ResizeMode="proportional">
<telerik:RadPane ID="RadPane3" runat="server" Scrolling="None">
<div class="containerHeading">
<span>Map</span>
</div>
</telerik:RadPane>
<telerik:RadSplitBar ID="RadSplitBar1" runat="server" />
<telerik:RadPane ID="RadPane4" runat="server" Scrolling="None">
<div class="containerHeading">
<span>Tools</span>
</div>
<telerik:RadTabStrip ID="tabStrip1" runat="server" Style="width: 100%;" MultiPageID="RadMultiPage1" SelectedIndex="0">
<Tabs>
<telerik:RadTab runat="server" Text="Noticeboard" Selected="True"></telerik:RadTab>
<telerik:RadTab runat="server" Text="History"></telerik:RadTab>
<telerik:RadTab runat="server" Text="Properties"></telerik:RadTab>
<telerik:RadTab runat="server" Text="Legend"></telerik:RadTab>
<telerik:RadTab runat="server" Text="Find"></telerik:RadTab>
<telerik:RadTab runat="server" Text="Alerts"></telerik:RadTab>
</Tabs>
</telerik:RadTabStrip>
<telerik:RadMultiPage ID="RadMultiPage1" Height="100%" runat="server" SelectedIndex="0">
<telerik:RadPageView ID="RadPageView1" Height="100%" runat="server" Selected="True">
<asp:Timer ID="timerNoticeboard" runat="server" Enabled="false"></asp:Timer>
<telerik:RadAjaxManager ID="AjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="timerNoticeboard">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadGrid ID="RadGrid1" runat="server" Width="100%" Height="100%" AllowSorting="True" GridLines="None" ShowStatusBar="True" AutoGenerateColumns="False">
<MasterTableView>
<RowIndicatorColumn>
<HeaderStyle Width="20px" />
</RowIndicatorColumn>
<ExpandCollapseColumn>
<HeaderStyle Width="20px" />
</ExpandCollapseColumn>
<Columns>
<telerik:GridBoundColumn DataField="Title" EmptyDataText="&nbsp;" HeaderText="Title" UniqueName="Title"></telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Description" EmptyDataText="&nbsp;" HeaderText="Description" UniqueName="Description"></telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<ClientSettings>
<Scrolling AllowScroll="True" UseStaticHeaders="True" />
</ClientSettings>
<FilterMenu EnableTheming="True">
<CollapseAnimation Duration="200" Type="OutQuint" />
</FilterMenu>
</telerik:RadGrid>
</telerik:RadPageView>
<telerik:RadPageView ID="RadPageView2" runat="server">History</telerik:RadPageView>
<telerik:RadPageView ID="RadPageView3" runat="server">Properties</telerik:RadPageView>
<telerik:RadPageView ID="RadPageView4" runat="server">Legend</telerik:RadPageView>
<telerik:RadPageView ID="RadPageView5" runat="server">Find</telerik:RadPageView>
<telerik:RadPageView ID="RadPageView6" runat="server">Alerts</telerik:RadPageView></telerik:RadMultiPage>
</telerik:RadPane>
</telerik:RadSplitter>
Many thanks,
Tom
| function addNewClick() { |
| var oWind = $find("<%=RadWindow1.ClientID %>"); |
| oWind.moveTo(300, 20); |
| oWind.setSize(610, window.availHeight); |
| oWind.setUrl("CalculationEdit.aspx?selectedID=0"); |
| oWind.show(); |
| } |