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

Radgrid cannot sort and lost staticHeader after export to excel

5 Answers 124 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Chris
Top achievements
Rank 1
Chris asked on 08 Jan 2014, 04:09 PM
My Radgrid is binding to a list<>, the sort and staticHeader working fine, however it cannot sort and lost staticHeader after export to excel. Can anyone help me? Thanks.


protected void btnExportToExcel_Click(object sender, ImageClickEventArgs e)
    {
        ConfigureExport(RadGrid1);
        RadGrid1.ExportSettings.FileName = "title";
        RadGrid1.MasterTableView.Caption = "title";
        RadGrid1.MasterTableView.ExportToExcel();
        ScriptManager.GetCurrent(Page).RegisterPostBackControl(btnExportToExcel);
    }

5 Answers, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 09 Jan 2014, 07:28 AM
Hi Chris,

When you are exporting make sure that you disable the StaticHeader . Please try and let me know if any concern, provide your full code snippet also.

C#:
protected void btnExportToExcel_Click(object sender, ImageClickEventArgs e)
 {    
   RadGrid1.ClientSettings.Scrolling.UseStaticHeaders = false;
      //Your Code
   RadGrid1.MasterTableView.ExportToExcel();
 }

Thanks,
Princy
0
Chris
Top achievements
Rank 1
answered on 09 Jan 2014, 03:30 PM
Hi Princy, 
Thank you for replying me. I tried your suggestion still got same result...

<%@ Page Title="" Language="C#" MasterPageFile="~/xxx.master" AutoEventWireup="true" CodeFile="xxxx.aspx.cs" Inherits="xxxx" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

    <asp:ScriptManager ID="ScriptManager1" runat="server" ScriptMode="Release">
    </asp:ScriptManager>
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
    </telerik:RadAjaxManager>

    

    <script type="text/javascript">

       .....


        function GridCreated(sender, args) {
            var scrollArea = sender.GridDataDiv;
            var dataHeight = sender.get_masterTableView().get_element().clientHeight;
            if (dataHeight < 350) {
                scrollArea.style.height = dataHeight + 5 + "px";
            }
        }

        function pnlRequestStarted(ajaxPanel, eventArgs) {
            if (eventArgs.EventTarget == "btnExportToExcel" || eventArgs.EventTarget == "btnExportToExcel2") {
                eventArgs.EnableAjax = false;
            }
        }
        

</script>

     <asp:UpdateProgress ID="UpdateProgress_pg" runat="server" AssociatedUpdatePanelID="UpdatePanel_pg">
        <ProgressTemplate>
           <div class="CenterProgressBg" style="height: 64px; width: 64px;">

             <img src="../Resources/img/ProgressBar/loader.gif" alt="Loading..." />      
           </div>
        </ProgressTemplate>
     </asp:UpdateProgress>

    <asp:UpdatePanel ID="UpdatePanel_pg" runat="server">
        
        <ContentTemplate>
         
             <asp:Panel ID="Panel1" runat="server" Visible="False">
                
                 <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" 
                     Width="98%" ClientEvents-OnRequestStart="pnlRequestStarted">
                     <telerik:RadGrid ID="RadGrid1" runat="server" EnableViewState="False"
                        AllowSorting="True" AllowFilteringByColumn="False" GridLines="None"
                        AutoGenerateColumns="False" CellSpacing="0" Skin="WebBlue" onneeddatasource="RadGrid1_NeedDataSource"
                        >
                        <ItemStyle Wrap="false"></ItemStyle>
                         <ExportSettings>
                             <Pdf>
                                 <PageHeader>
                                     <LeftCell Text="" />
                                     <MiddleCell Text="" />
                                     <RightCell Text="" />
                                     <leftcell text="" />
                                     <middlecell text="" />
                                     <rightcell text="" />
                                 </PageHeader>
                                 <PageFooter>
                                     <LeftCell Text="" />
                                     <MiddleCell Text="" />
                                     <RightCell Text="" />
                                     <leftcell text="" />
                                     <middlecell text="" />
                                     <rightcell text="" />
                                 </PageFooter>
                             </Pdf>
                         </ExportSettings>
                   
                         <mastertableview allowmulticolumnsorting="false" tablelayout="Fixed">
                             <CommandItemSettings ExportToPdfText="Export to PDF" />
                             <commanditemsettings exporttopdftext="Export to PDF" />
                             <rowindicatorcolumn filtercontrolalttext="Filter RowIndicator column">
                             </rowindicatorcolumn>
                             <expandcollapsecolumn created="True" 
                                 filtercontrolalttext="Filter ExpandColumn column" visible="True">
                             </expandcollapsecolumn>
                             <Columns>
                                .....
                            </Columns>
                             <editformsettings>
                                 <editcolumn filtercontrolalttext="Filter EditCommandColumn column">
                                 </editcolumn>
                             </editformsettings>
                             <BatchEditingSettings EditType="Cell" />
                             <batcheditingsettings edittype="Cell" />
                             <PagerStyle PageSizeControlType="RadComboBox" />
                         </mastertableview>
                         <PagerStyle PageSizeControlType="RadComboBox" />
                         <FilterMenu EnableImageSprites="False">
                         </FilterMenu>
                         <clientsettings allowcolumnsreorder="True" ReorderColumnsOnClient="True" ColumnsReorderMethod="Reorder" Scrolling-AllowScroll="True" Scrolling-UseStaticHeaders="True" Resizing-AllowColumnResize="True" AllowRowsDragDrop="False" Scrolling-ScrollHeight="350px" ClientEvents-OnGridCreated="GridCreated">
                             <ClientEvents OnGridCreated="GridCreated" />
                             <Scrolling AllowScroll="True" ScrollHeight="350px" UseStaticHeaders="True" />
                             <Resizing AllowColumnResize="True" />
                         </clientsettings>

                     </telerik:RadGrid>

                <asp:ImageButton ID="btnExportToExcel" runat="server" AlternateText="Export to Excel"
                         ImageUrl="~/Resources/img/Excel/excel.png" 
                         ToolTip="Export to Excel" onclick="btnExportToExcel_Click"   
                         /> 

                 </telerik:RadAjaxPanel>

             </asp:Panel>
         
                <asp:Panel ID="Panel2" runat="server" Visible="False">

                 <telerik:RadAjaxPanel ID="RadAjaxPanel2" runat="server" Width="100%"
                                        ClientEvents-OnRequestStart="pnlRequestStarted">
                 <telerik:RadGrid ID="RadGrid2" runat="server" EnableViewState="False"
                    AllowSorting="True" AllowFilteringByColumn="False" GridLines="None"
                    AutoGenerateColumns="False" CellSpacing="0" Width="98%" Skin="WebBlue" onneeddatasource="RadGrid2_NeedDataSource"
                    >
                    <ItemStyle Wrap="false"></ItemStyle>
                     <ExportSettings>
                         <Pdf>
                             <PageHeader>
                                 <LeftCell Text="" />
                                 <MiddleCell Text="" />
                                 <RightCell Text="" />
                                 <leftcell text="" />
                                 <middlecell text="" />
                                 <rightcell text="" />
                             </PageHeader>
                             <PageFooter>
                                 <LeftCell Text="" />
                                 <MiddleCell Text="" />
                                 <RightCell Text="" />
                                 <leftcell text="" />
                                 <middlecell text="" />
                                 <rightcell text="" />
                             </PageFooter>
                         </Pdf>
                     </ExportSettings>
                   
                     <mastertableview allowmulticolumnsorting="false" tablelayout="Fixed">
                         <CommandItemSettings ExportToPdfText="Export to PDF" />
                         <commanditemsettings exporttopdftext="Export to PDF" />
                         <rowindicatorcolumn filtercontrolalttext="Filter RowIndicator column">
                         </rowindicatorcolumn>
                         <expandcollapsecolumn created="True" 
                             filtercontrolalttext="Filter ExpandColumn column" visible="True">
                         </expandcollapsecolumn>
                         <Columns>
                             .....

                         </Columns>
                         <editformsettings>
                             <editcolumn filtercontrolalttext="Filter EditCommandColumn column">
                             </editcolumn>
                         </editformsettings>
                         <BatchEditingSettings EditType="Cell" />
                         <batcheditingsettings edittype="Cell" />
                         <PagerStyle PageSizeControlType="RadComboBox" />
                     </mastertableview>
                     <PagerStyle PageSizeControlType="RadComboBox" />
                     <FilterMenu EnableImageSprites="False">
                     </FilterMenu>
                     <clientsettings allowcolumnsreorder="True" ReorderColumnsOnClient="True" ColumnsReorderMethod="Swap" Scrolling-AllowScroll="True" Scrolling-UseStaticHeaders="True" Resizing-AllowColumnResize="True" AllowRowsDragDrop="False" Scrolling-ScrollHeight="350px" ClientEvents-OnGridCreated="GridCreated">       
                     </clientsettings>
                 </telerik:RadGrid>
                 
                
                  <asp:ImageButton ID="btnExportToExcel2" runat="server" 
                         AlternateText="Export to Excel"
                         ImageUrl="~/Resources/img/Excel/excel32.png" 
                         ToolTip="Export to Excel"   
                         onclick="btnExportToExcel2_Click"/>              
                 </telerik:RadAjaxPanel>

                </asp:Panel>
            
        </ContentTemplate>
    </asp:UpdatePanel> 
              
</asp:Content>



protected void btnExportToExcel_Click(object sender, ImageClickEventArgs e)
    {
        RadGrid1.ClientSettings.Scrolling.UseStaticHeaders = false;
ConfigureExport(RadGrid1);
        RadGrid1.ExportSettings.FileName = "title";
        RadGrid1.MasterTableView.Caption = "title";
        RadGrid1.MasterTableView.ExportToExcel();
        ScriptManager.GetCurrent(Page).RegisterPostBackControl(btnExportToExcel);
    }



0
Princy
Top achievements
Rank 2
answered on 10 Jan 2014, 03:54 AM
Hi Chris,

I tried your code and it works fine at my end. From your code i see that you have RadAjaxManager and RadAjaxPanel. Please note that using RadAjaxManager simultaneously with RadAjaxPanel or UpdatePanel ( or implementing multiple wrapped RadAjaxPanels ) is not a supported scenario and we highly recommend to avoid such implementation. Please either use just the manager to update your controls replacing theRadAjaxPanel with a regular asp:Panel, or use the RadAjaxPanel alone to wrap your page.

Furthermore, if you are using a complex scenario like WebUserControls or Master/ContentPages, we recommend you to place RadAjaxManager instance on the main/master page and add a proxy control to the user control/content page as described in the following help topic:
RadAjax and MasterPage

Thanks,
Princy
0
Chris
Top achievements
Rank 1
answered on 10 Jan 2014, 04:11 PM

Hi Princy,

I took off RadAjaxManager, still getting same problem. I notice that if any other button (nothing related to the Radgrid) clicked then the Radgrid can function sort and staticHeader normally again. 

0
Kostadin
Telerik team
answered on 14 Jan 2014, 11:45 AM
Hi Chris,

I prepared a small sample based on your code and wrapped the Grid only with RadAjaxPanel. On my side everything seems to work correctly. Could you please give it a try and let me know how it differs from your real setup?

Regards,
Kostadin
Telerik
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to the blog feed now.
Tags
Grid
Asked by
Chris
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Chris
Top achievements
Rank 1
Kostadin
Telerik team
Share this question
or