This is a migrated thread and some comments may be shown as answers.

RadAjaxPanel not working after perform Excel Export

1 Answer 171 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Wong
Top achievements
Rank 1
Wong asked on 25 Mar 2014, 02:44 AM

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...



1 Answer, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 26 Mar 2014, 07:01 AM
Hi,

Im not sure what may be causing the issue, your code is working fine at my end. Can you try replacing RadAjaxPanel with RadAjaxManager and check if the issue exists. Also note that the use of RadAjaxManager and RadAjaxPanel simultaneously is not recommended.

ASPX:
<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);
            }
        }
    </script>
</telerik:RadCodeBlock>
 
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
    <ClientEvents OnRequestStart="onRequestStart"></ClientEvents>
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="rgLetter2">
            <UpdatedControls>
             <telerik:AjaxUpdatedControl ControlID="rgLetter2"></telerik:AjaxUpdatedControl>
            </UpdatedControls>
        </telerik:AjaxSetting>
    </AjaxSettings>
</telerik:RadAjaxManager>

Thanks,
Princy
Tags
Grid
Asked by
Wong
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Share this question
or