I have a RadGrid in a RadWindow. When I try to filter the grid it does a postback and throws this exception:
[NullReferenceException: Object reference not set to an instance of an object.]
Telerik.Web.UI.RadGrid.RaisePostBackEvent(String eventArgument) +9792
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
I found that if I put another RadGrid on the page not in a RadWindow and filter it first, then filter the RadGrid in the window, it works correctly.
To reproduce: click "Open RadWindow", enter "5" in Title filter, click the filter icon for the Title column and select "Contains"
Code:
[NullReferenceException: Object reference not set to an instance of an object.]
Telerik.Web.UI.RadGrid.RaisePostBackEvent(String eventArgument) +9792
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
I found that if I put another RadGrid on the page not in a RadWindow and filter it first, then filter the RadGrid in the window, it works correctly.
To reproduce: click "Open RadWindow", enter "5" in Title filter, click the filter icon for the Title column and select "Contains"
Code:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="RadGridTest.aspx.vb" Inherits="RadGridTest" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Charting" TagPrefix="telerik" %><!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></head><body> <form id="form1" runat="server"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <a href="javascript:$find('RadWindow1').show();">Open RadWindow</a> <telerik:RadWindowManager ID="RadWindowManager1" runat="server" EnableShadow="True" VisibleTitlebar="true" VisibleStatusbar="false"> <Windows> <telerik:RadWindow ID="RadWindow1" runat="server" Title="Change Dashboard" Width="500" Modal="true"> <ContentTemplate> <telerik:RadGrid ID="RadGrid1" runat="server" PageSize="10" AllowPaging="true" AllowSorting="true"> <GroupingSettings CaseSensitive="false" /> <MasterTableView AutoGenerateColumns="false" AllowFilteringByColumn="true"> <Columns> <telerik:GridTemplateColumn AllowFiltering="false"> <ItemTemplate> <asp:HyperLink ID="lnkSelect" runat="server" NavigateUrl='/Default.aspx'>Select</asp:HyperLink> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn HeaderText="Title" DataField="Title" SortExpression="Title" /> <telerik:GridBoundColumn HeaderText="Description" DataField="Description" SortExpression="Description" /> </Columns> </MasterTableView> </telerik:RadGrid> </ContentTemplate> </telerik:RadWindow> </Windows> </telerik:RadWindowManager> </div> <div> <telerik:RadGrid ID="RadGrid2" runat="server" PageSize="10" AllowPaging="true" AllowSorting="true"> <GroupingSettings CaseSensitive="false" /> <MasterTableView AutoGenerateColumns="false" AllowFilteringByColumn="true"> <Columns> <telerik:GridTemplateColumn AllowFiltering="false"> <ItemTemplate> <asp:HyperLink ID="lnkSelect" runat="server" NavigateUrl='/Default.aspx'>Select</asp:HyperLink> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn HeaderText="Title" DataField="Title" SortExpression="Title" /> <telerik:GridBoundColumn HeaderText="Description" DataField="Description" SortExpression="Description" /> </Columns> </MasterTableView> </telerik:RadGrid> </div> </form></body></html>Imports Telerik.Web.UIImports Telerik.ChartingImports System.DataPartial Class RadGridTest Inherits System.Web.UI.Page Private Shared Function GetGridDataTable() As DataTable Dim GridDataTable As New DataTable() GridDataTable.Columns.Add(New DataColumn("Title", System.Type.GetType("System.String"))) GridDataTable.Columns.Add(New DataColumn("Description", System.Type.GetType("System.String"))) For i As Integer = 0 To 4 Dim Row As DataRow = GridDataTable.NewRow() Row.SetField("Title", "Title " & i) Row.SetField("Description", "Description " & i) GridDataTable.Rows.Add(Row) Next Return GridDataTable End Function Protected Sub RadGrid1_NeedDataSource(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGrid1.NeedDataSource RadGrid1.DataSource = GetGridDataTable() End Sub Protected Sub RadGrid2_NeedDataSource(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGrid2.NeedDataSource RadGrid2.DataSource = GetGridDataTable() End SubEnd Class