Hi,
I have a problem exporting a grid to excel.
All works fine but the excel file is empty.
I can confirm that NeedDataSource event is raised and data come from repository when the export button is clicked.
This is the code for export:
And this is the page code:
Excel file is generated but with <Row></Row> tags empty.
I'm using Q2 grid.
Regards
Jose
I have a problem exporting a grid to excel.
All works fine but the excel file is empty.
I can confirm that NeedDataSource event is raised and data come from repository when the export button is clicked.
This is the code for export:
protected void ToExcelButton_Click(object sender, EventArgs e)
{
ConfigureExport();
ListGrid.MasterTableView.ExportToExcel();
}
public void ConfigureExport()
{
ListGrid.ExportSettings.ExportOnlyData = true;
ListGrid.ExportSettings.IgnorePaging = true;
ListGrid.ExportSettings.OpenInNewWindow = true;
// Hide button columns
ListGrid.MasterTableView.GetColumn("EditButton").Visible = false;
ListGrid.MasterTableView.GetColumn("Logo").Visible = false;
ListGrid.MasterTableView.GetColumn("DeleteButton").Visible = false;
}And this is the page code:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="List.aspx.cs" Inherits="Quasar.WebUI.Customers.Customers.List" %><asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server"> <title>Quasar | CRM - Customers List</title></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <script type="text/javascript"> // on ToExcel button click temporarily disables ajax to perform // actions function conditionalPostback(sender, args) { if (args.get_eventTarget().indexOf("ToExcelButton") >= 0) { args.set_enableAjax(false); } } </script> <telerik:RadWindowManager ID="ListRadWindowManager" runat="server" /> <telerik:RadAjaxLoadingPanel ID="ListRadAjaxLoadingPanel" runat="server" Skin="Default" /> <telerik:RadAjaxManager ID="ListRadAjaxManager" runat="server" ClientEvents-OnRequestStart="conditionalPostback"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="ListGrid"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="ListGrid" LoadingPanelID="ListRadAjaxLoadingPanel" UpdatePanelHeight="" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <div class="findField"> <asp:Label ID="VATLabel" runat="server" AssociatedControlID="VAT">CIF/VAT :</asp:Label> <telerik:RadTextBox ID="VAT" runat="server" EmptyMessage="(empty)" MaxLength="25" Columns="15" SelectionOnFocus="SelectAll" ToolTip="Find Customer by CIF/VAT"></telerik:RadTextBox> <asp:Label ID="ContactLabel" runat="server" AssociatedControlID="Contact">Contact :</asp:Label> <telerik:RadTextBox ID="Contact" runat="server" EmptyMessage="(empty)" MaxLength="25" Columns="25" SelectionOnFocus="SelectAll" ToolTip="Find Customer by Contact"></telerik:RadTextBox> <asp:Label ID="EmailLabel" runat="server" AssociatedControlID="Email">Email :</asp:Label> <telerik:RadTextBox ID="Email" runat="server" EmptyMessage="(empty)" MaxLength="25" Columns="25" SelectionOnFocus="SelectAll" ToolTip="Find Customer by Contact Email"></telerik:RadTextBox> <telerik:RadButton ID="FindButton" runat="server" Icon-PrimaryIconUrl="~/Images/Find.png" Text="Find" Width="75px" onclick="FindButton_Click"> </telerik:RadButton> </div> <telerik:RadGrid ID="ListGrid" runat="server" AllowFilteringByColumn="True" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" GridLines="None" ShowStatusBar="True" ShowGroupPanel="True" EnableLinqExpressions="false" onneeddatasource="ListGrid_NeedDataSource" onitemcommand="ListGrid_ItemCommand" onitemdatabound="ListGrid_ItemDataBound"> <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True" AllowDragToGroup="True"> <Selecting AllowRowSelect="False" /> </ClientSettings> <GroupingSettings CaseSensitive="false" /> <ExportSettings ExportOnlyData="true" IgnorePaging="true" OpenInNewWindow="true" FileName="Customers"> <Excel Format="ExcelML" /> </ExportSettings> <MasterTableView Name="Master" DataKeyNames="CustomerId" CommandItemDisplay="Top" CommandItemSettings-ShowRefreshButton="False" CommandItemSettings-ShowExportToExcelButton="true"> <RowIndicatorColumn> <HeaderStyle Width="20px"></HeaderStyle> </RowIndicatorColumn> <ExpandCollapseColumn> <HeaderStyle Width="20px"></HeaderStyle> </ExpandCollapseColumn> <NestedViewSettings> <ParentTableRelation> <telerik:GridRelationFields DetailKeyField="ContactId" MasterKeyField="CustomerId" /> <telerik:GridRelationFields DetailKeyField="AddressId" MasterKeyField="CustomerId" /> </ParentTableRelation> </NestedViewSettings> <NestedViewTemplate> <asp:Panel runat="server" ID="InnerContainer" CssClass="viewWrap"> <telerik:RadTabStrip runat="server" ID="CustomersTabStrip" MultiPageID="CustomersMultipage" SelectedIndex="0"> <Tabs> <telerik:RadTab runat="server" Text="Contacts" PageViewID="ContactsPageView"> </telerik:RadTab> <telerik:RadTab runat="server" Text="Addresses" PageViewID="AddressesPageView"> </telerik:RadTab> </Tabs> </telerik:RadTabStrip> <telerik:RadMultiPage runat="server" ID="CustomersMultipage" SelectedIndex="0" RenderSelectedPageOnly="false"> <telerik:RadPageView runat="server" ID="ContactsPageView"> <telerik:RadGrid ID="ContactsGrid" runat="server" AllowSorting="false" AllowFilteringByColumn="false" PageSize="5" AllowPaging="true" AutoGenerateColumns="False" GridLines="None" onneeddatasource="ContactsGrid_NeedDataSource"> <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True" AllowDragToGroup="True"> <Selecting AllowRowSelect="False" /> </ClientSettings> <MasterTableView DataKeyNames="ContactId"> <Columns> <telerik:GridBoundColumn DataField="ContactId" HeaderText="Id" UniqueName="ContactId" Visible="false"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Full Name" DataField="FullName" UniqueName="FullName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Position" DataField="Position" UniqueName="Position"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Contact Type" DataField="ContactType.Description" UniqueName="ContactType"> </telerik:GridBoundColumn> <telerik:GridHyperLinkColumn DataNavigateUrlFields="Email" DataNavigateUrlFormatString="mailto:{0}" DataTextField="Email" HeaderText="Email" UniqueName="Email" Groupable="false" AllowFiltering="false"> </telerik:GridHyperLinkColumn> <telerik:GridBoundColumn HeaderText="Phone" DataField="Phone" UniqueName="Phone"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Mobile" DataField="Mobile" UniqueName="Mobile"> </telerik:GridBoundColumn> </Columns> </MasterTableView> </telerik:RadGrid> </telerik:RadPageView> <telerik:RadPageView runat="server" ID="AddressesPageView"> <telerik:RadGrid ID="AddressesGrid" runat="server" AllowSorting="false" AllowFilteringByColumn="false" PageSize="5" AllowPaging="true" AutoGenerateColumns="False" GridLines="None" onneeddatasource="AddressesGrid_NeedDataSource"> <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True" AllowDragToGroup="True"> <Selecting AllowRowSelect="False" /> </ClientSettings> <MasterTableView DataKeyNames="AddressId"> <Columns> <telerik:GridBoundColumn DataField="AddressId" HeaderText="Id" UniqueName="AddressId" Visible="false"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Address Type" DataField="AddressType" UniqueName="AddressType"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Full Address" DataField="FullAddress" UniqueName="FullAddress"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Zip Code" DataField="ZipCode" UniqueName="ZipCode"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="City" DataField="City" UniqueName="City"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Province" DataField="Province" UniqueName="Province"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="Country" DataField="Country" UniqueName="Country"> </telerik:GridBoundColumn> </Columns> </MasterTableView> </telerik:RadGrid> </telerik:RadPageView> </telerik:RadMultiPage> </asp:Panel> </NestedViewTemplate> <Columns> <telerik:GridButtonColumn ButtonType="ImageButton" Reorderable="False" Resizable="False" ShowFilterIcon="False" ShowSortIcon="False" UniqueName="EditButton" ImageUrl="~/Images/Edit.png" CommandName="Edit"> <ItemStyle Width="20px" HorizontalAlign="Center" VerticalAlign="Middle" /> </telerik:GridButtonColumn> <telerik:GridImageColumn AllowFiltering="False" AllowSorting="False" DataAlternateTextField="Name" DataImageUrlFields="Logo" DataImageUrlFormatString="~/Images/Customers/{0}" Groupable="False" HeaderText="Logo" ImageHeight="64px" ImageWidth="64px" ShowSortIcon="False" UniqueName="Logo" ItemStyle-Width="75px"> <ItemStyle Width="75px" /> </telerik:GridImageColumn> <telerik:GridBoundColumn DataField="CustomerId" HeaderText="Id" UniqueName="CustomerId" Visible="false" AllowFiltering="False"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Name" HeaderText="Name" UniqueName="Name"> </telerik:GridBoundColumn> <telerik:GridHyperLinkColumn DataNavigateUrlFields="Web" DataNavigateUrlFormatString="{0}" DataTextField="Web" HeaderText="Web" UniqueName="Web" Target="_blank" Groupable="false" AllowFiltering="false"> </telerik:GridHyperLinkColumn> <telerik:GridBoundColumn DataField="Group.Name" HeaderText="Group" UniqueName="Group"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="ActiveGroup" DataField="Group.IsActive" UniqueName="ActiveGroup" Visible="false"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="AccountManager.FullName" HeaderText="Acct. Manager" UniqueName="AccountManager"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="ActiveAcctMgr" DataField="AccountManager.IsActive" UniqueName="ActiveAcctMgr" Visible="false"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="SIC.Description" HeaderText="SIC" UniqueName="SIC"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="ActiveSIC" DataField="SIC.IsActive" UniqueName="ActiveSIC" Visible="false"> </telerik:GridBoundColumn> <telerik:GridCheckBoxColumn DataField="IsProspect" HeaderText="Prospect" UniqueName="IsProspect"> </telerik:GridCheckBoxColumn> <telerik:GridButtonColumn ButtonType="ImageButton" Reorderable="False" Resizable="False" ShowFilterIcon="False" ShowSortIcon="False" UniqueName="DeleteButton" ImageUrl="~/Images/Delete.png" CommandName="Delete" ConfirmDialogType="RadWindow" ConfirmText="Are you sure you want to delete this record?" ConfirmTitle="Delete record..." ConfirmDialogHeight="130px"> <ItemStyle Width="20px" HorizontalAlign="Center" VerticalAlign="Middle" /> </telerik:GridButtonColumn> </Columns> </MasterTableView> <PagerStyle Mode="NextPrevAndNumeric" Position="Bottom" /> <HeaderContextMenu EnableImageSprites="True" CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu> </telerik:RadGrid> <p class="submitButton"> <telerik:RadButton ID="ToExcelButton" runat="server" Icon-PrimaryIconUrl="~/Images/Save.png" Text="Save" Width="75px" onclick="ToExcelButton_Click"> </telerik:RadButton> </p></asp:Content>Excel file is generated but with <Row></Row> tags empty.
I'm using Q2 grid.
Regards
Jose