Hi all, i faced an issue which my radajaxpanel become not working after I clicked the excel export button.
Here is my spec:
1. Using RadAjaxPanel
2. Using ClientEvents-OnRequestStart="onRequestStart" to disable ajax
3. Using CommandItemTemplate and image button in it.
4. Using server-side method to export
Here is the problem:
1. Everything works fine before export excel
2. All the controls in RadAjaxPanel not working after perform the export action.
3. Found that there is no postback after i clicked the export button.
Here is my source code:
RadCodeBlock:
<
telerik:RadCodeBlock
runat
=
"server"
ID
=
"RadCodeBlock1"
>
<
script
type
=
"text/javascript"
>
function onRequestStart(sender, args) {
if ( args.get_eventTarget().indexOf("mngBtnExcel2") > 0) {
args.set_enableAjax(false);
}
}
function RowContextMenu2(sender, eventArgs) {
var menu = $find("<%=RadMenu2.ClientID %>");
var evt = eventArgs.get_domEvent();
if (evt.target.tagName == "INPUT" || evt.target.tagName == "A") {
return;
}
var index = eventArgs.get_itemIndexHierarchical();
document.getElementById("radGridClickedRowIndex").value = index;
sender.get_masterTableView().selectItem(sender.get_masterTableView().get_dataItems()[index].get_element(), true);
menu.show(evt);
evt.cancelBubble = true;
evt.returnValue = false;
if (evt.stopPropagation) {
evt.stopPropagation();
evt.preventDefault();
}
}
</
script
>
</
telerik:RadCodeBlock
>
RadAjaxPanel:
<
telerik:RadAjaxPanel
ID
=
"SearchPanel"
runat
=
"server"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
ClientEvents-OnRequestStart
=
"onRequestStart"
>
<
telerik:RadGrid
ID
=
"rgLetter2"
runat
=
"server"
OnNeedDataSource
=
"rgLetter2_NeedDataSource"
AllowPaging
=
"True"
AllowSorting
=
"True"
AllowFilteringByColumn
=
"True"
ShowGroupPanel
=
"True"
CellSpacing
=
"0"
GridLines
=
"None"
>
<
ClientSettings
>
<
ClientEvents
OnRowContextMenu
=
"RowContextMenu2"
></
ClientEvents
>
<
Selecting
AllowRowSelect
=
"true"
></
Selecting
>
</
ClientSettings
>
<
GroupingSettings
ShowUnGroupButton
=
"false"
CaseSensitive
=
"false"
></
GroupingSettings
>
<
ClientSettings
AllowDragToGroup
=
"True"
>
<
Selecting
AllowRowSelect
=
"True"
/>
<
ClientEvents
OnRowContextMenu
=
"RowContextMenu2"
/>
</
ClientSettings
>
<
MasterTableView
AllowFilteringByColumn
=
"true"
AllowMultiColumnSorting
=
"true"
AutoGenerateColumns
=
"false"
CommandItemDisplay
=
"Top"
DataKeyNames
=
"LetterID"
EnableGroupsExpandAll
=
"true"
GroupLoadMode
=
"Client"
PageSize
=
"50"
>
<
CommandItemSettings
ShowAddNewRecordButton
=
"false"
/>
<
PagerStyle
AlwaysVisible
=
"True"
PageSizeControlType
=
"RadComboBox"
Position
=
"TopAndBottom"
PageSizes
=
"50,100,150,200"
/>
<
Columns
>
<
telerik:GridTemplateColumn
DataField
=
"LSubject"
HeaderText
=
"Subject"
SortExpression
=
"LSubject"
UniqueName
=
"LSubject"
FilterDelay
=
"2000"
ShowFilterIcon
=
"false"
FilterControlWidth
=
"200px"
>
<
ItemTemplate
>
<
a
href='<%# Page.ResolveClientUrl("ViewOutgoingLetter.aspx") %>?LetterID=<%# Eval("LetterID") %>'
target="_blank">
<%# Eval("LSubject")%></
a
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
DataField
=
"Company"
HeaderText
=
"Company"
SortExpression
=
"Company"
UniqueName
=
"Company"
FilterDelay
=
"2000"
ShowFilterIcon
=
"false"
>
</
telerik:GridBoundColumn
>
</
Columns
>
<
CommandItemTemplate
>
<
table
width
=
"100%"
>
<
tr
>
<
td
align
=
"left"
>
<
a
href
=
"#"
onclick="return openNewLetterWindow('<%# hfproject.Value %>','<%# hfBU.Value %>');">
<
img
style
=
"border: 0px; width: 20px; height: 20px;"
alt
=
""
src
=
"../App_Themes/MetroRed/Grid/AddRecord.gif"
/>New</
a
>
</
td
>
<
td
align
=
"right"
>
<
asp:ImageButton
ID
=
"mngBtnExcel2"
runat
=
"server"
OnClick
=
"btnExcel_Click2"
ImageUrl
=
"../App_Themes/MetroRed/Grid/AddRecord.gif"
></
asp:ImageButton
>
</
td
>
</
tr
>
</
table
>
</
CommandItemTemplate
>
</
MasterTableView
>
</
telerik:RadGrid
>
<
telerik:RadContextMenu
ID
=
"RadMenu2"
runat
=
"server"
OnItemClick
=
"RadMenu2_ItemClick"
EnableRoundedCorners
=
"true"
EnableShadows
=
"true"
>
<
Items
>
<
telerik:RadMenuItem
Text
=
"View"
ImageUrl
=
"../App_Themes/Image/VIEW.gif"
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
Text
=
"Print Preview"
ImageUrl
=
"../App_Themes/Image/PRE.gif"
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
Text
=
"Duplicate"
ImageUrl
=
"../App_Themes/Image/COPY.gif"
>
</
telerik:RadMenuItem
>
<
telerik:RadMenuItem
Text
=
"Send Attachment(s)"
ImageUrl
=
"../App_Themes/Image/EML.gif"
>
</
telerik:RadMenuItem
>
</
Items
>
</
telerik:RadContextMenu
>
</
telerik:RadAjaxPanel
>
.cs:
protected void btnExcel_Click2(object sender, EventArgs e)
{
//rgLetter.ExportSettings.Excel.Format = (GridExcelExportFormat)Enum.Parse(typeof(GridExcelExportFormat), "ExcelML");
rgLetter2.ExportSettings.IgnorePaging = true;
rgLetter2.ExportSettings.ExportOnlyData = true;
rgLetter2.ExportSettings.OpenInNewWindow = true;
rgLetter2.MasterTableView.ExportToExcel();
}
Hope you guys can help me on this, i has been stuck by this issue more than 2 days.. T.T ... Thanks guys...