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

RadGrid Export to CSV Problem

2 Answers 64 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Abbas
Top achievements
Rank 1
Abbas asked on 05 Sep 2013, 10:00 PM
Hi,

I am useing RadGrid and which use HeaderTemplate and ItemTemplate in HeaderTemplate define Header like <tr> <td>Name</td></tr> ..... and 
 bind data in ItemTemplate like <tr><td>  <%--  <%# DataBinder.Eval(Container.DataItem, "Name")%>--%></td>.......</tr>. So problem is that
 i have clike on Export To Excel button RadGrid is disappear and Excel file is empty open. why? please help

ASPX Code:
<table>
<tr>
                                   <td>
                        <asp:Button ID="ExpReport" runat="server" Text="Export Excel " 
                             CssClass="Buttons" onclick="ExpReport_Click"  />
                    </td>
                </tr>
                <tr>
                    <td colspan="8" style="height: 8px">
                    </td>
                </tr>
            </table>
            
              
                    <%-- <table width="100%"  cellpadding="0" cellspacing="0">
        <tr><td>--%>
        <div id="divTableDataHolder">
                    <telerik:RadGrid ID="RGrid" runat="server" Skin="Default" 
                BorderWidth="0px" AutoGenerateColumns="false"
                        Width="100%" Height="100%" BorderColor="Transparent" 
                AllowSorting="true" GridLines="None"  EnableAJAX="true"                 
                OnNeedDataSource="RGrid_NeedDataSource"  CellPadding="0" CellSpacing ="0" 
                ongridexporting="RGrid_GridExporting" onpdfexporting="RGrid_PdfExporting" 
                        onitemcreated="RGrid_ItemCreated" >
                       <%-- <GroupingSettings ShowUnGroupButton="true"></GroupingSettings>--%>
                        <MasterTableView AllowMultiColumnSorting="false" ShowHeader="false" RowIndicatorColumn-Display ="false" TableLayout ="Auto" >
                         
                            <Columns> 
                              <telerik:GridTemplateColumn groupable="False" UniqueName="Employer_Id"  Display="false">
                              
                                    <HeaderTemplate>
                                           <tr>
                                            <td>
                                                
                                                    <tr>
                                                        <td align="center" colspan="18" class ="tdBorder" style="font-weight :bold">
                                                            Number of Employees (Report employees in only one Category)
                                                        </td>
                                                    </tr>
                                                    <tr>
                                                        <td align="center" colspan="18" class ="tdBorder"  style="font-weight :bold">
                                                            Race or Ethnicity
                                                        </td>
                                                    </tr>
                                                    <tr>    
                                                               <tr>
                                                                <td class ="tdBorder" rowspan="3"  style="font-weight :bold" >Job Group</td>
                                                                    <td colspan="2"  class ="tdBorder" rowspan="2"  style="font-weight :bold">
                                                                        Hisponic or Latino
                                                                    </td>
                                                                    <td colspan="16" align="center" class ="tdBorder"  style="font-weight :bold">
                                                                        Non Hisponic or Latino
                                                                    </td>
                                                                </tr>
                                                                <tr>
                                                              
                                                              
                                                                    <td colspan="7" class ="tdBorder"  style="font-weight :bold">
                                                                        Male
                                                                    </td>
                                                                    <td colspan="7" class ="tdBorder"  style="font-weight :bold" >
                                                                        Female
                                                                    </td>
                                                                        <td class ="tdBorder" rowspan="3"  style="font-weight :bold" >
                                                                         Totals
                                                                    </td>
                                                                    </tr>
                                                                    <tr>
                                                                
                                                                        <td class ="tdBorder"  style="font-weight :bold" >
                                                                            Male</td>
                                                                            <td class ="tdBorder"  style="font-weight :bold" >
                                                                                Female
                                                                            
                                                                        </td>
                                                                        
                                                                        <td class ="tdBorder">
                                                                            American Indian OR Alaskan Native
                                                                        </td>
                                                                        <td class ="tdBorder">
                                                                            Asian
                                                                        </td>
                                                                        <td class ="tdBorder">
                                                                            Black OR African American
                                                                        </td>
                                                                        <td class ="tdBorder">
                                                                            Caucasian White
                                                                        </td>
                                                                        <td class ="tdBorder" >
                                                                            No Race
                                                                        </td>
                                                                        <td class ="tdBorder" >
                                                                            Native Hawaiian OR Other Pacific Islander
                                                                        </td>
                                                                        <td class ="tdBorder">
                                                                            Two Or More Race
                                                                        </td>
                                                                        <td class ="tdBorder">
                                                                            American Indian OR Alaskan Native
                                                                        </td>
                                                                        <td class ="tdBorder">
                                                                            Asian
                                                                        </td>
                                                                        <td class ="tdBorder">
                                                                            Black OR African American
                                                                        </td>
                                                                        <td class ="tdBorder">
                                                                            Caucasian White
                                                                        </td>
                                                                        <td class ="tdBorder">
                                                                            No Race
                                                                        </td>
                                                                        <td class ="tdBorder">
                                                                            Native Hawaiian OR Other Pacific Islander
                                                                        </td>
                                                                        <td class ="tdBorder">
                                                                            Two Or More Race
                                                                        </td>
                                                                       <%--    <td class ="tdBorder" rowspan="3">
                                                                         Totals
                                                                    </td>--%>
                                                                    </tr>
                                                                <%--</tr>--%>
                                                            
                                                        </td>

                                                    </tr>
                                       
                                   
                                  
                                    
                                   </HeaderTemplate>
                                    <ItemTemplate>
                                    
                                      
                                            <tr class="tdBorder" >
                                                <td class ="tdBorder">
                                              
                                                    <%# DataBinder.Eval(Container.DataItem,"EEO") %>
                                                </td>
                                                <td class ="tdBorder">
                                            
                                                    <%# DataBinder.Eval(Container.DataItem,"HispanicOrLatinoMale")%>
                                                </td>
                                                <td class ="tdBorder">
                                              
                                                   <%# DataBinder.Eval(Container.DataItem,"HispanicOrLatinoFemale")%>
                                                </td>
                                                <td class ="tdBorder">
                                                 <%# Eval("AmericanIndianOrAlaskanNativeM", "{0:N0}")%>
                                                    <%--<%# DataBinder.Eval(Container.DataItem, "AmericanIndianOrAlaskanNativeM")%>--%>
                                                </td>
                                                <td class ="tdBorder" >
                                                 
                                                   <%# DataBinder.Eval(Container.DataItem, "AsianM")%>
                                                </td>
                                                <td class ="tdBorder">
                                                
                              <%# DataBinder.Eval(Container.DataItem, "BlackOrAfricanAmericanM")%>
                                                </td>
                                                <td class ="tdBorder">
                                         
                                                  <%# DataBinder.Eval(Container.DataItem, "CaucasianWhiteM")%>
                                                </td>
                                                <td class ="tdBorder">
                                                  <%# Eval("NoRaceM", "{0:N0}")%>
                                                   <%# DataBinder.Eval(Container.DataItem, "NoRaceM")%>
                                                </td>
                                                <td class ="tdBorder">
                                                 
                                                   <%# DataBinder.Eval(Container.DataItem, "NativeHawaiianOrOtherPacificIslanderM")%>
                                                </td>
                                                <td class ="tdBorder">
                                                
                                                    <%# DataBinder.Eval(Container.DataItem, "TwoOrMoreRacesM")%>
                                                </td>
                                                <td class ="tdBorder">
                                                 <%# Eval("AmericanIndianOrAlaskanNativeF", "{0:N0}")%>
                                                 <%--   <%# DataBinder.Eval(Container.DataItem, "AmericanIndianOrAlaskanNativeF")%>--%>
                                                </td>
                                                <td class ="tdBorder">
                                               
                                                   <%# DataBinder.Eval(Container.DataItem, "AsianF")%>
                                                </td>
                                                <td class ="tdBorder">
                                                
                                                   <%# DataBinder.Eval(Container.DataItem, "BlackOrAfricanAmericanF")
                                                </td>
                                                 <td class ="tdBorder">
                                                 
                                                  <%# DataBinder.Eval(Container.DataItem, "CaucasianWhiteF")%>
                                                </td>
                                                <td class ="tdBorder">
                                              
                                                  <%# DataBinder.Eval(Container.DataItem, "NoRaceF")%>
                                                </td>
                                                <td class ="tdBorder">
                                                
                                                  <%# DataBinder.Eval(Container.DataItem, "NativeHawaiianOrOtherPacificIslanderF")%>
                                                </td>
                                                <td class ="tdBorder">
                                                 
                                                   <%# DataBinder.Eval(Container.DataItem, "TwoOrMoreRacesF")%>
                                                </td>
                                                <td class ="tdBorder" style ="font-weight:bold">
                                              
                                                    <%# DataBinder.Eval(Container.DataItem, "Total")%>
                                                </td>
                                            </tr>
       
                                    </ItemTemplate>
                                  
                               </telerik:GridTemplateColumn>
                               
                            </Columns>
                            
                        </MasterTableView>
                    </telerik:RadGrid>
                    </div>
                    <asp:HiddenField ID="HdnValue" runat="server" />
                      </telerik:RadAjaxPanel> 
                    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
                        <ClientEvents OnRequestStart="RequestStart" />
                         <ClientEvents OnRequestStart="onRequestStart" />
                        <AjaxSettings>
                            <telerik:AjaxSetting AjaxControlID="showRpt">
                                <UpdatedControls>
                                    <telerik:AjaxUpdatedControl ControlID="Panel" LoadingPanelID="RadAjaxLoadingPanel1" />
                                </UpdatedControls>
                            </telerik:AjaxSetting>
                            <telerik:AjaxSetting AjaxControlID="RGrid">
                                <UpdatedControls>
                                    <telerik:AjaxUpdatedControl ControlID="RGrid" LoadingPanelID="RadAjaxLoadingPanel1" />
                                </UpdatedControls>
                            </telerik:AjaxSetting>
                        </AjaxSettings>
                    </telerik:RadAjaxManager>
                    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" CssClass="MyModalPanel" Transparency="50"
                        runat="server">
                    </telerik:RadAjaxLoadingPanel>

C# Code:
  protected void ExpReport_Click(object sender, EventArgs e)
        {
            try
            {
              
                RGrid.ExportSettings.IgnorePaging = true;
                RGrid.ExportSettings.ExportOnlyData = true;
                RGrid.ExportSettings.OpenInNewWindow = true;
                RGrid.ExportSettings.FileName = " Report";
                RGrid.MasterTableView.ExportToCSV();
               
                
            }
            catch (Exception ex)
            {
                
                throw ex;
            }
            
        }


2 Answers, 1 is accepted

Sort by
0
Accepted
Princy
Top achievements
Rank 2
answered on 06 Sep 2013, 04:28 AM
Hi Abbas,

I see that you are Exporting to CSV and you are adding the contents to a Table.Since CSV is text-based format it doesn't support images or complex structures like tables.That's the why your having a blank page.You try Export To Excel if you want to use table structures.

Thanks,
Princy
0
Abbas
Top achievements
Rank 1
answered on 06 Sep 2013, 04:25 PM
 Hi

Many Thanks for respons.

Regard

Muhammad Abbas 
Tags
Grid
Asked by
Abbas
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Abbas
Top achievements
Rank 1
Share this question
or