I have a radgrid and a radajaxmanager (2008 Q3) in a page.
It is a simple page, basically, it has the radgrid's NeedDataSource and an itemdatabound to generate the row numbering.
When the page is first load, the filtering function is fine.
Then, if I perform a second filtering, the filter context memu does not appear, with script error:
If I removed the radajaxmanager, second filtering is ok.
The code:
The aspx page
And the ajaxmanager:
It is a simple page, basically, it has the radgrid's NeedDataSource and an itemdatabound to generate the row numbering.
When the page is first load, the filtering function is fine.
Then, if I perform a second filtering, the filter context memu does not appear, with script error:
| 'null' is not or not an object |
If I removed the radajaxmanager, second filtering is ok.
The code:
| Protected Sub RadGrid1_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) |
| Dim myTable As New DataTable |
| myTable = dbSearchPart_Cost |
| If myTable Is Nothing Then |
| msgMessage.Text = "System error. Cannot connect to database! " |
| GoTo error_exit |
| End If |
| RadGrid1.DataSource = myTable |
| GoTo exit_sub |
| error_exit: |
| msgMessage.CssClass = "ErrorText" |
| exit_sub: |
| myTable = Nothing |
| End Sub |
| Protected Sub RadGrid1_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles RadGrid1.ItemDataBound |
| If (TypeOf e.Item Is GridDataItem) Then |
| Dim lbl As Label = CType(e.Item.FindControl("numberLabel"), Label) |
| lbl.Text = e.Item.ItemIndex + 1 |
| End If |
| End Sub |
The aspx page
| <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False" GridLines="None" |
| OnNeedDataSource="RadGrid1_NeedDataSource" Skin="Forest" EnableViewState="False" |
| AllowPaging="True" PageSize="50" ShowStatusBar="True" AllowSorting="True" AllowFilteringByColumn="True" > |
| <HeaderContextMenu Skin="SkyBlue"> |
| <CollapseAnimation Duration="200" Type="OutQuint" /> |
| </HeaderContextMenu> |
| <MasterTableView EnableViewState="False" DataKeyNames="PartID"> |
| <Columns> |
| <telerik:GridBoundColumn DataField="PartID" UniqueName="ID" Visible="False"> |
| </telerik:GridBoundColumn> |
| <telerik:GridTemplateColumn UniqueName="RowNo" HeaderText="Item" AllowFiltering="False"> |
| <ItemTemplate> |
| <asp:Label ID="numberLabel" runat="server" Width="30px" /> |
| </ItemTemplate> |
| <HeaderStyle Width="30px" /> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn UniqueName="chkItem" AllowFiltering="False"> |
| <ItemTemplate> |
| <asp:CheckBox ID="chkItem" runat="server" Width="30px" /> |
| </ItemTemplate> |
| <HeaderStyle Width="30px" /> |
| </telerik:GridTemplateColumn> |
| <telerik:GridHyperLinkColumn Text="<img src='icon/icon_write.gif' border='0'/>" |
| DataNavigateUrlFields="PartID" DataNavigateUrlFormatString="~/index.aspx?mode=PartEdit&opn=edit&ID={0}" |
| UniqueName="Edit" AllowFiltering="False"> |
| <HeaderStyle Width="30px" /> |
| </telerik:GridHyperLinkColumn> |
| <telerik:GridTemplateColumn DataField="PartID" AllowFiltering="False" UniqueName="Setup"> |
| <ItemTemplate> |
| <img src="icon/icon_plus.gif" onclick="ShowNewWindow('<%# Eval("PartID") %>');return false;" |
| style="cursor: pointer;" /> |
| </ItemTemplate> |
| <HeaderStyle Width="30px" /> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn UniqueName="PartActive" DataField="PartActive" SortExpression="PartActive" |
| FilterControlWidth="15px"> |
| <ItemTemplate> |
| <asp:CheckBox ID="chkActive" Checked='<%# GetActive(Eval("PartActive")) %>' Enabled="false" |
| runat="server" /> |
| </ItemTemplate> |
| <HeaderStyle Width="30px" /> |
| </telerik:GridTemplateColumn> |
| <telerik:GridBoundColumn DataField="PartNo" UniqueName="PartNo" FilterControlWidth="60px"> |
| <HeaderStyle Width="80px" /> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="PartName" UniqueName="PartName"> |
| <HeaderStyle Width="200px" /> |
| </telerik:GridBoundColumn> |
| <telerik:GridTemplateColumn UniqueName="Desc" DataField="Desc1, Desc2, Desc3" |
| SortExpression="Desc1" AllowFiltering="false"> |
| <ItemTemplate> |
| <asp:Label ID="PartDesc" Text='<%#GetLength(Eval("Desc1") + Eval("Desc2") + Eval("Desc3"), 250)%>' |
| runat="server"></asp:Label> |
| </ItemTemplate> |
| <HeaderStyle Width="200px" /> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn UniqueName="PartPrice" DataField="PriceCurrency1,PriceCurrency2, PriceCurrency3, PriceCurrency4, PriceCurrency5, Price1, Price2, Price3, Price4, Price5" SortExpression="Price1" AllowFiltering="false"> |
| <ItemTemplate> |
| <%# Eval("PriceCurrency1") %> |
| <%# Eval("Price1") %> |
| <br /> |
| <%# Eval("PriceCurrency2") %> |
| <%# Eval("Price2") %> |
| <br /> |
| <%# Eval("PriceCurrency3") %> |
| <%# Eval("Price3") %> |
| <br /> |
| <%# Eval("PriceCurrency4") %> |
| <%# Eval("Price4") %> |
| <br /> |
| <%# Eval("PriceCurrency5") %> |
| <%# Eval("Price5") %> |
| </ItemTemplate> |
| <HeaderStyle Width="100px" /> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn UniqueName="PartCost" DataField="CostCurrency, Cost" SortExpression="Cost" AllowFiltering="false"> |
| <ItemTemplate> |
| <%# Eval("CostCurrency") %> |
| <%#Eval("Cost")%> |
| </ItemTemplate> |
| <HeaderStyle Width="100px" /> |
| </telerik:GridTemplateColumn> |
| <telerik:GridTemplateColumn UniqueName="PartQty" DataField="PartID" FilterControlWidth="60px" AllowFiltering="false" > |
| <ItemTemplate> |
| <asp:Literal ID="PartQty" Text='<%# GetQty(Eval("PartID")) %>' runat="server" /> |
| </ItemTemplate> |
| <HeaderStyle Width="100px" /> |
| </telerik:GridTemplateColumn> |
| <telerik:GridBoundColumn DataField="ProductGroup" UniqueName="ProductGroup" FilterControlWidth="50px"> |
| <HeaderStyle Width="100px" /> |
| </telerik:GridBoundColumn> |
| </Columns> |
| <PagerStyle Mode="NextPrevNumericAndAdvanced" /> |
| </MasterTableView> |
| <PagerStyle Mode="NumericPages" /> |
| <FilterMenu Skin="Forest"> |
| <CollapseAnimation Duration="200" Type="OutQuint" /> |
| </FilterMenu> |
| </telerik:RadGrid> |
And the ajaxmanager:
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" EnablePageHeadUpdate="False" |
| DefaultLoadingPanelID="RadAjaxLoadingPanel1"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadGrid1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| <telerik:AjaxSetting AjaxControlID="btnRefresh"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Height="75px" |
| Width="75px"> |
| <img alt="Loading..." src="icon/spinner.gif" style="border: 0px;" /> |
| </telerik:RadAjaxLoadingPanel> |