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.UI
Imports
Telerik.Charting
Imports
System.Data
Partial
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
Sub
End
Class