Dear Sir,
I am using Radcontrols Q1 2007.
I have an hierarchical grid with 1 level of hierarchy. Everything works fine.
But when i do export to excel, it works on the local server, but when i deploy it to my development server, it does not work. The records instead of opening in an excel sheet, directly open on the page. The page is posted back and the records are displayed on the page itself, rather than exporting them to excel.
Please help me sort out this problem.
PS: I cannot upgrade my radcontrols version, as my client does not want to upgrade it.
Please find the code of aspx file.
The cs code is as follows.
I am using Radcontrols Q1 2007.
I have an hierarchical grid with 1 level of hierarchy. Everything works fine.
But when i do export to excel, it works on the local server, but when i deploy it to my development server, it does not work. The records instead of opening in an excel sheet, directly open on the page. The page is posted back and the records are displayed on the page itself, rather than exporting them to excel.
Please help me sort out this problem.
PS: I cannot upgrade my radcontrols version, as my client does not want to upgrade it.
Please find the code of aspx file.
<%@ Register TagPrefix="telerik" Namespace="Telerik.QuickStart" %><%@ Register TagPrefix="telerik" Namespace="Telerik.WebControls" Assembly="RadAjax.NET2" %><%@ Register TagPrefix="telerik" Namespace="Telerik.WebControls" Assembly="RadGrid.NET2" %><tr> <td class="text-bold" align="right" colspan="2"> <br /> <asp:LinkButton ID="lnkExcelExportMaster" runat="server" Text="Export to Excel (Master Data)" ToolTip="Export to Excel (Master Data)" OnClick="lnkExcelMaster_OnClick" Font-Underline="true"></asp:LinkButton> <asp:LinkButton ID="lnkExcelExport" runat="server" Text="Export to Excel" ToolTip="Export to Excel" OnClick="lnkExcel_OnClick" Font-Underline="true"></asp:LinkButton> </td> </tr> <tr> <td colspan="2"> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="grdAccomodationDetails"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="grdAccomodationDetails" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadGrid ID="grdAccomodationDetails" runat="server" Skin="Web20" Width="95%" ShowStatusBar="true" AutoGenerateColumns="False" PageSize="30" AllowSorting="True" AllowMultiRowSelection="False" AllowPaging="True" OnDetailTableDataBind="grdAccomodationDetails_DetailTableDataBind" OnNeedDataSource="grdAccomodationDetails_NeedDataSource" OnItemCreated="grdAccomodationDetails_ItemCreated"> <PagerStyle Mode="NextPrevAndNumeric"></PagerStyle> <MasterTableView Width="100%" DataKeyNames="AccomodationId" AllowMultiColumnSorting="True"> <DetailTables> <telerik:GridTableView DataKeyNames="AccomodationDetailsId" Name="InnerAccomodationDetails" Width="80%" AutoGenerateColumns="false"> <Columns> <telerik:GridBoundColumn SortExpression="Name" HeaderText="Full Name" HeaderButtonType="TextButton" DataField="Name" ItemStyle-Width="25%"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="RegistrationNumber" HeaderText="Registration Number" HeaderButtonType="TextButton" DataField="RegistrationNumber" ItemStyle-Width="15%"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="Sex" HeaderText="Sex" HeaderButtonType="TextButton" DataField="Sex" ItemStyle-Width="5%"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="Age" HeaderText="Age" HeaderButtonType="TextButton" DataField="Age" ItemStyle-Width="5%"> </telerik:GridBoundColumn> </Columns> </telerik:GridTableView> </DetailTables> <Columns> <telerik:GridBoundColumn SortExpression="AccomodationId" HeaderText="Accomodation Id" HeaderButtonType="TextButton" DataField="AccomodationId" ItemStyle-Width="15%"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="FirstName" HeaderText="First Name" HeaderButtonType="TextButton" DataField="FirstName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="MiddleName" HeaderText="Middle Name" HeaderButtonType="TextButton" DataField="MiddleName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="LastName" HeaderText="Last Name" HeaderButtonType="TextButton" DataField="LastName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="MobileNumber" HeaderText="Mobile Number" HeaderButtonType="TextButton" DataField="MobileNumber"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="CountofPeople" HeaderText="Total Count" HeaderButtonType="TextButton" DataField="CountofPeople"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="Address" HeaderText="Address" HeaderButtonType="TextButton" DataField="Address" Visible="false"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="ResidenceNumber" HeaderText="Residence Number" HeaderButtonType="TextButton" DataField="ResidenceNumber" Visible="false"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="EmailAddress" HeaderText="Email Address" HeaderButtonType="TextButton" DataField="EmailAddress" Visible="false"> </telerik:GridBoundColumn> <telerik:GridBoundColumn Visible="false" HeaderText="Arrival Date" HeaderButtonType="TextButton" HeaderStyle-HorizontalAlign="Center" DataField="ArrivalDate" DataFormatString="{0:MMM dd, yyyy}"> </telerik:GridBoundColumn> <telerik:GridBoundColumn Visible="false" HeaderText="Departure Date" HeaderButtonType="TextButton" HeaderStyle-HorizontalAlign="Center" DataField="DepartureDate" DataFormatString="{0:MMM dd, yyyy}"> </telerik:GridBoundColumn> </Columns> </MasterTableView> <ClientSettings ReorderColumnsOnClient="True" AllowDragToGroup="True" AllowColumnsReorder="True"> <Selecting AllowRowSelect="true" /> <Resizing AllowRowResize="False" AllowColumnResize="True"></Resizing> </ClientSettings> </telerik:RadGrid> <br /> </td> </tr>The cs code is as follows.
#region ===== NeedDataSource Event of Grid ===== protected void grdAccomodationDetails_NeedDataSource(object source, Telerik.WebControls.GridNeedDataSourceEventArgs e) { try { if (!e.IsFromDetailTable) { grdAccomodationDetails.DataSource = megautsav.GetMegaUtsavAccomodations(); } } catch (Exception ex) { LogHandler.LogError(long.Parse(Session["UserId"].ToString()), LogHandler.APPLICATION_ERROR, ex.StackTrace.ToString(), ex.Message.ToString()); Response.Redirect("../Error.aspx?errmsg=" + HttpUtility.UrlEncode(ex.Message.ToString())); } } #endregion #region ===== Binding Detail Tables of Grid ===== protected void grdAccomodationDetails_DetailTableDataBind(object source, Telerik.WebControls.GridDetailTableDataBindEventArgs e) { try { Telerik.WebControls.GridDataItem dataItem = (Telerik.WebControls.GridDataItem)e.DetailTableView.ParentItem; switch (e.DetailTableView.Name) { case "InnerAccomodationDetails": { string accomodationId = dataItem.GetDataKeyValue("AccomodationId").ToString(); e.DetailTableView.DataSource = megautsav.GetMegaUtsavAccomodationDetails(int.Parse(accomodationId)); break; } } } catch (Exception ex) { LogHandler.LogError(long.Parse(Session["UserId"].ToString()), LogHandler.APPLICATION_ERROR, ex.StackTrace.ToString(), ex.Message.ToString()); Response.Redirect("../Error.aspx?errmsg=" + HttpUtility.UrlEncode(ex.Message.ToString())); } } #endregion #region ===== ItemCreated Event of Grid ===== protected void grdAccomodationDetails_ItemCreated(object source, Telerik.WebControls.GridItemEventArgs e) { if (isExport && (e.Item.ItemType == Telerik.WebControls.GridItemType.Item || e.Item.ItemType == Telerik.WebControls.GridItemType.AlternatingItem || e.Item.ItemType == Telerik.WebControls.GridItemType.Header)) { e.Item.Cells[0].Visible = false; } } #endregion #region ===== Click of Export to Excel Linkbutton ===== protected void lnkExcel_OnClick(object sender, EventArgs e) { try { isExport = true; grdAccomodationDetails.ExportSettings.ExportOnlyData = true; grdAccomodationDetails.ExportSettings.OpenInNewWindow = true; string fileName = "MegaMahotsav Accomodation Details"; grdAccomodationDetails.ExportSettings.FileName = fileName; grdAccomodationDetails.MasterTableView.Width = Unit.Pixel(300); grdAccomodationDetails.MasterTableView.CommandItemDisplay = Telerik.WebControls.GridCommandItemDisplay.None; grdAccomodationDetails.MasterTableView.ShowFooter = false; grdAccomodationDetails.MasterTableView.ClearEditItems(); grdAccomodationDetails.MasterTableView.ClearSelectedItems(); grdAccomodationDetails.MasterTableView.HierarchyDefaultExpanded = true; grdAccomodationDetails.MasterTableView.AllowPaging = false; foreach (Telerik.WebControls.GridBoundColumn column in grdAccomodationDetails.MasterTableView.Columns) { column.Visible = true; } grdAccomodationDetails.Rebind(); grdAccomodationDetails.GridLines = GridLines.Both; grdAccomodationDetails.MasterTableView.ExportToExcel(); grdAccomodationDetails.MasterTableView.AllowPaging = true; } catch (Exception ex) { throw (ex); } } #endregion #region ===== Click of Export to Excel (Master Data) Linkbutton ===== protected void lnkExcelMaster_OnClick(object sender, EventArgs e) { try { isExport = true; grdAccomodationDetails.ExportSettings.ExportOnlyData = true; grdAccomodationDetails.ExportSettings.OpenInNewWindow = true; string fileName = "MegaMahotsav Accomodation Details Master"; grdAccomodationDetails.ExportSettings.FileName = fileName; grdAccomodationDetails.MasterTableView.Width = Unit.Pixel(300); grdAccomodationDetails.MasterTableView.CommandItemDisplay = Telerik.WebControls.GridCommandItemDisplay.None; grdAccomodationDetails.MasterTableView.ShowFooter = false; grdAccomodationDetails.MasterTableView.ClearEditItems(); grdAccomodationDetails.MasterTableView.ClearSelectedItems(); grdAccomodationDetails.MasterTableView.HierarchyDefaultExpanded = false; grdAccomodationDetails.MasterTableView.AllowPaging = false; foreach (Telerik.WebControls.GridBoundColumn column in grdAccomodationDetails.MasterTableView.Columns) { column.Visible = true; } grdAccomodationDetails.Rebind(); grdAccomodationDetails.GridLines = GridLines.Both; grdAccomodationDetails.MasterTableView.ExportToExcel(); grdAccomodationDetails.MasterTableView.AllowPaging = true; } catch (Exception ex) { throw (ex); } } #endregion