I have a RadGrid which has export buttons above it that I use to export to excel, word, and pdf. They work fine on all of my other pages. However, we are experiencing a major issue when I have some code behind writing to a tooltip.
ToolTip components from RadControls
Code Behind for ToolTip
ERROR OCCURS HERE, ALL OF THE LINES ERROR OUT with the message below.
ERROR MESSAGE!!
System.NullReferenceException was unhandled by user code
Message="Object reference not set to an instance of an object."
Source="App_Web_kktldl24"
StackTrace:
at RefreshStatus.RadGrid1_ItemDataBound(Object sender, GridItemEventArgs e) in c:\TFS\MEC.EMA\Development\Source\EMA.Internal\pricing\refresh\RefreshStatus.aspx.cs:line 191
at Telerik.Web.UI.RadGrid.OnItemDataBound(GridItemEventArgs e)
at Telerik.Web.UI.GridItem.SetupItem(Boolean dataBind, Object dataItem, GridColumn[] columns, ControlCollection rows)
at Telerik.Web.UI.GridItemBuilder.InitializeItem(Int32 dataSourceIndex, String& nextItemHierarchicalIndex, Boolean& itemIsInEditMode)
at Telerik.Web.UI.GridItemBuilder.CreateItems(GridGroupingContext group)
at Telerik.Web.UI.GridItemBuilder.CreateGroupSubItems(GridGroupingContext group, GridEnumerableBase enumerable)
at Telerik.Web.UI.GridItemBuilder.HandleGrouping(GridGroupingContext group, GridEnumerableBase enumerable, Boolean& isGroup, Boolean& isGroupFooter)
at Telerik.Web.UI.GridItemBuilder.CreateItems(GridGroupingContext group)
at Telerik.Web.UI.GridItemBuilder.CreateGroupSubItems(GridGroupingContext group, GridEnumerableBase enumerable)
at Telerik.Web.UI.GridItemBuilder.HandleGrouping(GridGroupingContext group, GridEnumerableBase enumerable, Boolean& isGroup, Boolean& isGroupFooter)
at Telerik.Web.UI.GridItemBuilder.CreateItems(GridGroupingContext group)
at Telerik.Web.UI.GridTableView.CreateItems(IEnumerator enumerator, GridColumn[] columns, ControlCollection controls)
at Telerik.Web.UI.GridTableView.CreateControlHierarchy(Boolean useDataSource)
at Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource, Boolean useDataSource)
at System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data)
at System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data)
at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback)
at System.Web.UI.WebControls.DataBoundControl.PerformSelect()
at Telerik.Web.UI.GridTableView.PerformSelect()
at System.Web.UI.WebControls.BaseDataBoundControl.DataBind()
at Telerik.Web.UI.GridTableView.DataBind()
at Telerik.Web.UI.RadGrid.DataBind()
at Telerik.Web.UI.RadGrid.AutoDataBind(GridRebindReason rebindReason)
at Telerik.Web.UI.RadGrid.RebindForExport()
at Telerik.Web.UI.Grid.Export.TableViewExporter.PrepareForExport()
at Telerik.Web.UI.Grid.Export.TableViewExporter.page_PreRender(Object sender, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.Web.UI.Control.OnPreRender(EventArgs e)
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
InnerException:
Here is my export code behind from my user control
Can you provide me with a solution to remove this error and allow me to Export the data?
Thank You!
ToolTip components from RadControls
| <telerik:GridTemplateColumn HeaderText="Actions" HeaderStyle-Width="50" ItemStyle-HorizontalAlign="center"> |
| <ItemTemplate> |
| <telerik:RadToolTip ID="RadToolTipMessage" TargetControlID="LabelRefreshStatus" RelativeTo="Element" Position="BottomLeft" runat="server" /> |
| <telerik:RadToolTip ID="RadToolTipImage" TargetControlID="ImageErrorMessage" RelativeTo="Element" Position="BottomLeft" ManualClose="true" runat="server" /> |
| <asp:ImageButton ID="ImageButtonDetails" ImageUrl="~/images/office/txt.gif" AlternateText="See Details" runat="server" /> |
| <asp:Label ID="LabelRefreshStatus" runat="server" /> |
| <telerik:RadToolTip ID="RadToolTipDetails" TargetControlID="ImageButtonDetails" Position="TopLeft" Sticky="true" runat="server" /> |
| </ItemTemplate> |
| </telerik:GridTemplateColumn> |
Code Behind for ToolTip
| refreshStatus.Text = EMAUtilities.BatchStatus(Convert.ToInt32(dataItem["STATUS_ID"].Text)); |
| RadToolTip message = ((RadToolTip)e.Item.Cells[0].FindControl("RadToolTipMessage")); |
| RadToolTip imageMessage = ((RadToolTip)e.Item.Cells[0].FindControl("RadToolTipImage")); |
| RadToolTip detail = ((RadToolTip)e.Item.Cells[0].FindControl("RadToolTipDetails")); |
| Label refreshStatus = (Label)e.Item.Cells[0].FindControl("LabelRefreshStatus"); |
| System.Web.UI.WebControls. |
| Image imageResults = (System.Web.UI.WebControls.Image)e.Item.Cells[0].FindControl("ImageErrorMessage"); |
ERROR OCCURS HERE, ALL OF THE LINES ERROR OUT with the message below.
| message.Text = "Good Job!"; |
| imageMessage.Text = "You have done a good job!"; |
| imageResults.Visible = true; |
| refreshStatus.CssClass = "colorGreen"; |
| imageResults.ImageUrl = "~/images/Good.gif"; |
| imageResults.Visible = true; |
ERROR MESSAGE!!
System.NullReferenceException was unhandled by user code
Message="Object reference not set to an instance of an object."
Source="App_Web_kktldl24"
StackTrace:
at RefreshStatus.RadGrid1_ItemDataBound(Object sender, GridItemEventArgs e) in c:\TFS\MEC.EMA\Development\Source\EMA.Internal\pricing\refresh\RefreshStatus.aspx.cs:line 191
at Telerik.Web.UI.RadGrid.OnItemDataBound(GridItemEventArgs e)
at Telerik.Web.UI.GridItem.SetupItem(Boolean dataBind, Object dataItem, GridColumn[] columns, ControlCollection rows)
at Telerik.Web.UI.GridItemBuilder.InitializeItem(Int32 dataSourceIndex, String& nextItemHierarchicalIndex, Boolean& itemIsInEditMode)
at Telerik.Web.UI.GridItemBuilder.CreateItems(GridGroupingContext group)
at Telerik.Web.UI.GridItemBuilder.CreateGroupSubItems(GridGroupingContext group, GridEnumerableBase enumerable)
at Telerik.Web.UI.GridItemBuilder.HandleGrouping(GridGroupingContext group, GridEnumerableBase enumerable, Boolean& isGroup, Boolean& isGroupFooter)
at Telerik.Web.UI.GridItemBuilder.CreateItems(GridGroupingContext group)
at Telerik.Web.UI.GridItemBuilder.CreateGroupSubItems(GridGroupingContext group, GridEnumerableBase enumerable)
at Telerik.Web.UI.GridItemBuilder.HandleGrouping(GridGroupingContext group, GridEnumerableBase enumerable, Boolean& isGroup, Boolean& isGroupFooter)
at Telerik.Web.UI.GridItemBuilder.CreateItems(GridGroupingContext group)
at Telerik.Web.UI.GridTableView.CreateItems(IEnumerator enumerator, GridColumn[] columns, ControlCollection controls)
at Telerik.Web.UI.GridTableView.CreateControlHierarchy(Boolean useDataSource)
at Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource, Boolean useDataSource)
at System.Web.UI.WebControls.CompositeDataBoundControl.PerformDataBinding(IEnumerable data)
at System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data)
at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback)
at System.Web.UI.WebControls.DataBoundControl.PerformSelect()
at Telerik.Web.UI.GridTableView.PerformSelect()
at System.Web.UI.WebControls.BaseDataBoundControl.DataBind()
at Telerik.Web.UI.GridTableView.DataBind()
at Telerik.Web.UI.RadGrid.DataBind()
at Telerik.Web.UI.RadGrid.AutoDataBind(GridRebindReason rebindReason)
at Telerik.Web.UI.RadGrid.RebindForExport()
at Telerik.Web.UI.Grid.Export.TableViewExporter.PrepareForExport()
at Telerik.Web.UI.Grid.Export.TableViewExporter.page_PreRender(Object sender, EventArgs e)
at System.EventHandler.Invoke(Object sender, EventArgs e)
at System.Web.UI.Control.OnPreRender(EventArgs e)
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
InnerException:
Here is my export code behind from my user control
| public partial class controls_exportRadGrid : System.Web.UI.UserControl |
| { |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| } |
| /// <summary> |
| /// Handles the Click event of the ButtonExcel control. |
| /// </summary> |
| /// <param name="sender">The source of the event.</param> |
| /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> |
| protected void ButtonExcel_Click(object sender, System.EventArgs e) |
| { |
| ConfigureExport(); |
| RadGrid Grid1 = (RadGrid)Page.Master.FindControl("Main").FindControl("RadGrid1"); |
| Grid1.MasterTableView.ExportToExcel(); |
| } |
| /// <summary> |
| /// Handles the Click event of the ButtonWord control. |
| /// </summary> |
| /// <param name="sender">The source of the event.</param> |
| /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> |
| protected void ButtonWord_Click(object sender, System.EventArgs e) |
| { |
| ConfigureExport(); |
| RadGrid Grid1 = (RadGrid)Page.Master.FindControl("Main").FindControl("RadGrid1"); |
| Grid1.MasterTableView.ExportToWord(); |
| } |
| /// <summary> |
| /// Handles the Click event of the ButtonPDF control. |
| /// </summary> |
| /// <param name="sender">The source of the event.</param> |
| /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> |
| protected void ButtonPDF_Click(object sender, System.EventArgs e) |
| { |
| ConfigureExport(); |
| RadGrid Grid1 = (RadGrid)Page.Master.FindControl("Main").FindControl("RadGrid1"); |
| Grid1.ExportSettings.Pdf.PageHeight = Unit.Parse("200mm"); |
| Grid1.ExportSettings.Pdf.PageWidth = Unit.Parse("500mm"); |
| Grid1.MasterTableView.Columns.FindByDataField("STATUS_ID").Visible = false; |
| Grid1.MasterTableView.ExportToPdf(); |
| } |
| /// <summary> |
| /// Handles the Click event of the ButtonCSV control. |
| /// </summary> |
| /// <param name="sender">The source of the event.</param> |
| /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> |
| protected void ButtonCSV_Click(object sender, System.EventArgs e) |
| { |
| ConfigureExport(); RadGrid Grid1 = (RadGrid)Page.Master.FindControl("Main").FindControl("RadGrid1"); |
| Grid1.MasterTableView.ExportToCSV(); |
| } |
| /// <summary> |
| /// Configures the export. |
| /// </summary> |
| public void ConfigureExport() |
| { |
| RadGrid Grid1 = (RadGrid)Page.Master.FindControl("Main").FindControl("RadGrid1"); |
| Grid1.ExportSettings.ExportOnlyData = true; |
| Grid1.ExportSettings.IgnorePaging = true; |
| Grid1.ExportSettings.OpenInNewWindow = true; |
| } |
| } |
Can you provide me with a solution to remove this error and allow me to Export the data?
Thank You!