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