I'm trying to access data from a radgrid from a sharepoint webpart on the same page as the radgrid. When I execute the GridDataItem Item line, it throws a null reference exception and says "Object is not set to instance of an object". Why isn't it finding the control?
using (SPSite external = new SPSite(SPContext.Current.Web.Url))
{
using(SPWeb web = external.OpenWeb())
{
RadGrid ProjectGrid = (RadGrid)FindControl("rgViewPDS");
GridDataItem item = ProjectGrid.Items[0];
this.PP = item["PP"].Text;
this.PED = item["PED"].Text;
}
}
});
5 Answers, 1 is accepted
0
Hi Nate,
Could you please elaborate a bit more on your application. Does the RadGrid control added to a UserControl into your WebPart. If yes note that you need to access the mentioned UserControl before access the RadGrid. Some more information on your configuration and the exact steps you are using for achieving the required functionality will help us to further investigate the issue and provide proper solution.
Kind regards,
Maria Ilieva
the Telerik team
Could you please elaborate a bit more on your application. Does the RadGrid control added to a UserControl into your WebPart. If yes note that you need to access the mentioned UserControl before access the RadGrid. Some more information on your configuration and the exact steps you are using for achieving the required functionality will help us to further investigate the issue and provide proper solution.
Kind regards,
Maria Ilieva
the Telerik team
Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.
0

Nate
Top achievements
Rank 1
answered on 03 Jun 2011, 02:21 PM
I have two web parts on the page. One is a custom page viewer and the other is the RadGrid. The URL for the page viewer requires data from the RadGrid as query string parameters. Within the page viewer code, I'm trying to do a FindControl for the RadGrid, access the first row of data, and obtain the PP and PED values. When I do a FindControl, it returns null.
This is the configuration for the RadGrid:
This is the configuration for the RadGrid:
<
telerik:RadGrid
ID
=
"rgViewPDS"
runat
=
"server"
OnNeedDataSource
=
"rgViewPDS_NeedDataSource"
AllowPaging
=
"True"
PageSize
=
"20"
AllowSorting
=
"True"
ShowGroupPanel
=
"True"
AutoGenerateColumns
=
"False"
EnableEmbeddedSkins
=
"false"
GridLines
=
"None"
Skin
=
"Tkn2_RadSkins"
OnItemCommand
=
"rgviewPDS_ItemCommand"
ShowStatusBar
=
"True"
>
<
MasterTableView
ClientDataKeyNames
=
"ProjectSiteUrl"
Width
=
"100%"
AllowAutomaticUpdates
=
"false"
CommandItemDisplay
=
"Top"
AllowAutomaticDeletes
=
"False"
AllowAutomaticInserts
=
"False"
AllowFilteringByColumn
=
"True"
EnableNoRecordsTemplate
=
"true"
ShowHeadersWhenNoRecords
=
"true"
AllowMultiColumnSorting
=
"True"
AllowPaging
=
"True"
>
<
Columns
>
<
telerik:GridButtonColumn
Text
=
"Create"
ItemStyle-CssClass
=
""
ButtonType
=
"PushButton"
UniqueName
=
"TransmittalURL"
HeaderText
=
"Create Transmittal"
CommandName
=
"CreateTransmittal"
/>
<
telerik:GridBoundColumn
DataField
=
"ProjectName"
UniqueName
=
"ProjectName"
HeaderText
=
"Project Name"
/>
<
telerik:GridBoundColumn
DataField
=
"ProjectNumber"
UniqueName
=
"ProjectNumber"
HeaderText
=
"Project Number"
/>
<
telerik:GridBoundColumn
DataField
=
"SiteURL"
UniqueName
=
"SiteURL"
HeaderText
=
"Project Site"
/>
<
telerik:GridBoundColumn
HeaderText
=
"Prolog ID"
UniqueName
=
"PP"
DataField
=
"PP" /
>
<
telerik:GridBoundColumn
HeaderText
=
"Prolog Portfolio"
UniqueName
=
"PED"
DataField
=
"PED" /
>
</
Columns
>
<
CommandItemSettings
/>
<
CommandItemTemplate
>
<
asp:Panel
runat
=
"server"
ID
=
"CommandItemPanel"
Style
=
"padding: 4px; line-height: 24px; vertical-align: middle;"
Width
=
"100%"
Wrap
=
"False"
>
<
div
style
=
"float: left"
>
<
span
style
=
"margin-right: 3px;"
> </
span
>
</
div
>
<
div
style
=
"float: right; margin-right: 3px"
>
</
div
>
<
div
style
=
"float: right"
>
<
span
style
=
"margin-right: 3px;"
><
asp:LinkButton
id
=
"LinkButton2"
runat
=
"server"
OnClick
=
"RefreshMe"
Text
=
"Refresh Tasks list"
>
<
img
style
=
"border:0px;vertical-align:middle;"
alt
=
""
src
=
"/_layouts/Images/Tkn/Refresh.gif"
/><
span
style
=
"margin-left: 3px;"
>Refresh</
span
>
</
asp:LinkButton
></
span
>
</
div
>
</
asp:Panel
>
</
CommandItemTemplate
>
<
NoRecordsTemplate
>There is no data to show in this list.</
NoRecordsTemplate
>
<
PagerTemplate
>
<
asp:Panel
ID
=
"PagerPanel"
Style
=
"padding: 6px; line-height: 24px"
runat
=
"server"
>
<
div
style
=
"float: left"
>
<
span
style
=
"margin-right: 3px;"
> </
span
>
</
div
>
<
div
style
=
"margin: 0px; float: right;"
>
Displaying page
<%# (int)DataBinder.Eval(Container, "Paging.CurrentPageIndex") + 1 %>
of
<%# DataBinder.Eval(Container, "Paging.PageCount")%>
, items
<%# (int)DataBinder.Eval(Container, "Paging.FirstIndexInPage") + 1 %>
to
<%# (int)DataBinder.Eval(Container, "Paging.LastIndexInPage") + 1 %>
of
<%# DataBinder.Eval(Container, "Paging.DataSourceCount")%>
</
div
>
<
div
style
=
"margin: 0px; padding: 0px; float: left; margin-right: 10px; white-space: nowrap;"
>
<
asp:LinkButton
ID
=
"Button1"
runat
=
"server"
OnClientClick
=
"changePagePDS('first'); return false;"
CommandName
=
"Page"
CommandArgument
=
"First"
Text
=
"<<"
><
img
style
=
"border:0px;vertical-align:middle;"
alt
=
"Edit selected Task"
src
=
"/_layouts/Images/Tkn/PagingFirst.gif"
/></
asp:LinkButton
>
<
asp:LinkButton
ID
=
"Button2"
runat
=
"server"
OnClientClick
=
"changePagePDS('prev'); return false;"
CommandName
=
"Page"
CommandArgument
=
"Prev"
Text
=
"<"
><
img
style
=
"border:0px;vertical-align:middle;"
alt
=
"Edit selected Task"
src
=
"/_layouts/Images/Tkn/PagingPrev.gif"
/></
asp:LinkButton
>
<
span
style
=
"vertical-align: middle;"
>Page:</
span
>
<
telerik:RadNumericTextBox
ID
=
"RadNumericTextBoxPDS"
Width
=
"25px"
Value='<%# (int)DataBinder.Eval(Container, "Paging.CurrentPageIndex") + 1 %>'
runat="server">
<
ClientEvents
OnValueChanged
=
"RadNumericTextBoxPDS_ValueChanged"
/>
<
NumberFormat
DecimalDigits
=
"0"
/>
</
telerik:RadNumericTextBox
>
<
span
style
=
"vertical-align: middle;"
>of
<%# DataBinder.Eval(Container, "Paging.PageCount")%>
</
span
>
<
asp:LinkButton
ID
=
"Button3"
runat
=
"server"
OnClientClick
=
"changePagePDS('next'); return false;"
CommandName
=
"Page"
CommandArgument
=
"Next"
Text=">" ><
img
style
=
"border:0px;vertical-align:middle;"
alt
=
"Edit selected Task"
src
=
"/_layouts/Images/Tkn/PagingNext.gif"
/></
asp:LinkButton
>
<
asp:LinkButton
ID
=
"Button4"
runat
=
"server"
OnClientClick
=
"changePagePDS('last'); return false;"
CommandName
=
"Page"
CommandArgument
=
"Last"
Text=">>" ><
img
style
=
"border:0px;vertical-align:middle;"
alt
=
"Edit selected Task"
src
=
"/_layouts/Images/Tkn/PagingLast.gif"
/></
asp:LinkButton
>
</
div
>
<
asp:Panel
runat
=
"server"
ID
=
"NumericPagerPlaceHolder"
/>
</
asp:Panel
>
</
PagerTemplate
>
</
MasterTableView
>
<
ClientSettings
EnableRowHoverStyle
=
"true"
EnablePostBackOnRowClick
=
"true"
ReorderColumnsOnClient
=
"True"
AllowDragToGroup
=
"True"
AllowColumnsReorder
=
"True"
>
<
Selecting
AllowRowSelect
=
"True"
></
Selecting
>
<
Resizing
AllowRowResize
=
"True"
EnableRealTimeResize
=
"True"
ResizeGridOnColumnResize
=
"True"
AllowColumnResize
=
"True"
></
Resizing
>
</
ClientSettings
>
<
FilterMenu
/>
</
telerik:RadGrid
>
0

Nate
Top achievements
Rank 1
answered on 06 Jun 2011, 08:01 PM
Does anyone know how to fix this?
0
Hello Nate,
Please ensure that you are calling FindControl for the whole UserControl in which the RadGrid is added before calling FindControl() for the RadGrid itself. You need to find the parent UserControl before accessing its internal controls.
Best wishes,
Maria Ilieva
the Telerik team
Please ensure that you are calling FindControl for the whole UserControl in which the RadGrid is added before calling FindControl() for the RadGrid itself. You need to find the parent UserControl before accessing its internal controls.
Best wishes,
Maria Ilieva
the Telerik team
Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.
0

Nate
Top achievements
Rank 1
answered on 07 Jun 2011, 04:56 PM
Thanks! That worked perfectly!