Greetings,
I have a RagGrid with Export to Excel enabled. It exports the file, but the loading panel keeps spinning after the export. Can you tell me what I am missing?
Thank you!
Matt
I have a RagGrid with Export to Excel enabled. It exports the file, but the loading panel keeps spinning after the export. Can you tell me what I am missing?
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="Test" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title>Export Test</title> <script type="text/javascript"> function onRequestStart(sender, args) { if (args.get_eventTarget().indexOf("ExportTo") >= 0) { args.set_enableAjax(false); } } </script></head><body> <form id="form1" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> </telerik:RadScriptManager> <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server" DecoratedControls="GridFormDetailsViews,Buttons,Textbox,CheckBoxes,RadioButtons,Scrollbars,Textarea,Select" /> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server"> </telerik:RadAjaxLoadingPanel> <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" LoadingPanelID="RadAjaxLoadingPanel1"> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <ClientEvents OnRequestStart="onRequestStart"></ClientEvents> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="grdItemSearchResults"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="grdItemSearchResults"></telerik:AjaxUpdatedControl> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <div> <table width="100%"> <tr> <td colspan="2"> <h3> Item Search</h3> </td> </tr> <tr> <td width="250" align="right" valign="top"> Receipt # </td> <td> <asp:TextBox ID="txtItemCartID" MaxLength="100" CssClass="inputWidth" runat="server"></asp:TextBox> </td> </tr> <tr> <td align="right" valign="top"> Item # </td> <td> <asp:TextBox ID="txtItemPurchaseID" MaxLength="100" CssClass="inputWidth" runat="server"></asp:TextBox> </td> </tr> <tr> <td align="right" valign="top"> * Start Date </td> <td> <asp:TextBox ID="txtItemStartDate" MaxLength="100" CssClass="inputWidth" runat="server"></asp:TextBox> <asp:Label ID="errItemStartDate" runat="server" ForeColor="Red"></asp:Label> </td> </tr> <tr> <td align="right" valign="top"> * End Date </td> <td> <asp:TextBox ID="txtItemEndDate" MaxLength="100" CssClass="inputWidth" runat="server"></asp:TextBox> <asp:Label ID="errItemEndDate" runat="server" ForeColor="Red"></asp:Label> </td> </tr> <tr> <td align="right" valign="top"> Customer First Name </td> <td> <asp:TextBox ID="txtItemCustomerFirstName" MaxLength="100" CssClass="inputWidth" runat="server"></asp:TextBox> </td> </tr> <tr> <td align="right" valign="top"> Customer Last Name </td> <td> <asp:TextBox ID="txtItemCustomerLastName" MaxLength="100" CssClass="inputWidth" runat="server"></asp:TextBox> </td> </tr> <tr> <td align="right" valign="top"> Purchase Identifier </td> <td> <asp:TextBox ID="txtItemPurchaseIdentifier" MaxLength="100" CssClass="inputWidth" runat="server"></asp:TextBox> </td> </tr> <tr> <td align="right" valign="top"> Comments </td> <td> <asp:TextBox ID="txtItemComments" MaxLength="1000" CssClass="inputWidth" runat="server" Rows="5" TextMode="MultiLine"></asp:TextBox> </td> </tr> <tr> <td> </td> <td> <asp:LinkButton ID="btnItemSelectAll" runat="server" OnClick="btnItemSelectAll_Click">Select All</asp:LinkButton> <asp:LinkButton ID="btnItemSelectNone" runat="server" OnClick="btnItemSelectNone_Click">Select None</asp:LinkButton> </td> </tr> <tr> <td align="right" valign="top"> Purchase Type </td> <td> <asp:CheckBoxList ID="chkItemPurchaseType" runat="server" DataTextField="PurchaseTypeName" DataValueField="PurchaseTypeID" DataSourceID="objPurchaseType" RepeatColumns="3"> </asp:CheckBoxList> </td> </tr> <tr> <td align="right" valign="top"> Cashier </td> <td> <asp:CheckBoxList ID="chkItemUser" runat="server" RepeatColumns="3" DataSourceID="objUser" DataTextField="UserFullName" DataValueField="UserID"> </asp:CheckBoxList> </td> </tr> <tr> <td align="right" valign="top"> Location </td> <td> <asp:CheckBoxList ID="chkItemLocation" runat="server" RepeatColumns="3" DataSourceID="objLocation" DataTextField="LocationName" DataValueField="LocationID"> </asp:CheckBoxList> </td> </tr> <tr> <td> </td> <td> <telerik:RadButton ID="btnItemSearch" runat="server" Text="Search" Icon-PrimaryIconCssClass="rbSearch" ForeColor="White" OnClick="btnItemSearch_Click"> </telerik:RadButton> <telerik:RadButton ID="btnItemReset" runat="server" ForeColor="White" Icon-PrimaryIconCssClass="rbRefresh" OnClick="btnItemReset_Click" Text="Reset"> </telerik:RadButton> </td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2"> <h3> <asp:Label ID="lblItemSearchCount" runat="server"></asp:Label> Records Found</h3> </td> </tr> <tr> <td colspan="2"> <telerik:RadGrid ID="grdItemSearchResults" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" CellSpacing="0" GridLines="None" OnNeedDataSource="grdItemSearchResults_NeedDataSource" OnItemCommand="grdItemSearchResults_ItemCommand" PageSize="20"> <MasterTableView DataKeyNames="PurchaseID" NoMasterRecordsText="No items were found." HeaderStyle-ForeColor="White" CommandItemDisplay="Top"> <CommandItemSettings ExportToPdfText="Export to PDF" ShowExportToWordButton="true" ShowExportToExcelButton="true" ShowExportToCsvButton="true" ShowExportToPdfButton="true" /> <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column" Visible="True"> <HeaderStyle Width="20px" /> </RowIndicatorColumn> <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column" Visible="True"> <HeaderStyle Width="20px" /> </ExpandCollapseColumn> <Columns> <telerik:GridBoundColumn DataField="CartID" DataType="System.Int32" FilterControlAltText="Filter CartID column" HeaderText="Receipt #" SortExpression="CartID" UniqueName="CartID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="PurchaseID" DataType="System.Int32" FilterControlAltText="Filter PurchaseID column" HeaderText="Item #" ReadOnly="True" SortExpression="PurchaseID" UniqueName="PurchaseID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="CartDate" DataType="System.DateTime" FilterControlAltText="Filter CartDate column" HeaderText="Date" SortExpression="CartDate" UniqueName="CartDate" DataFormatString="{0:d}"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="Customer" SortExpression="CustomerFirstName"> <ItemTemplate> <asp:Label ID="lblCustomerFullName" runat="server" Text='<%# String.Format("{0} {1}", Eval("CustomerFirstName"), Eval("CustomerLastName")) %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="PurchaseTypeName" FilterControlAltText="Filter PurchaseTypeName column" HeaderText="Type" SortExpression="PurchaseTypeName" UniqueName="PurchaseTypeName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="PurchaseIdentifier" FilterControlAltText="Filter PurchaseIdentifier column" HeaderText="Identifier" SortExpression="PurchaseIdentifier" UniqueName="PurchaseIdentifier"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="PurchaseAmount" DataType="System.Decimal" FilterControlAltText="Filter PurchaseAmount column" HeaderText="Amount" SortExpression="PurchaseAmount" UniqueName="PurchaseAmount" DataFormatString="{0:C}"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="Cashier" SortExpression="UserFirstName"> <ItemTemplate> <asp:Label ID="lblUserFullName" runat="server" Text='<%# String.Format("{0} {1}", Eval("UserFirstName"), Eval("UserLastName")) %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="LocationName" FilterControlAltText="Filter LocationName column" HeaderText="Location" SortExpression="LocationName" UniqueName="LocationName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="PurchaseStatusName" FilterControlAltText="Filter PurchaseStatusName column" HeaderText="Status" SortExpression="PurchaseStatusName" UniqueName="PurchaseStatusName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="ChangeLogMessage" FilterControlAltText="Filter ChangeLogMessage column" HeaderText="Comment" ReadOnly="True" SortExpression="ChangeLogMessage" UniqueName="ChangeLogMessage"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn ItemStyle-HorizontalAlign="Center"> <ItemTemplate> <telerik:RadButton ID="btnItemDetails" runat="server" ForeColor="White" Icon-PrimaryIconCssClass="rbOpen" Text="Details" CommandArgument='<%# Bind("CartID") %>' OnCommand="btnItemDetails_Command"> </telerik:RadButton> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"> </EditColumn> </EditFormSettings> <PagerStyle PageSizeControlType="RadComboBox" /> </MasterTableView> <PagerStyle PageSizeControlType="RadComboBox" /> <FilterMenu EnableImageSprites="False"> </FilterMenu> </telerik:RadGrid> </td> </tr> </table> </div> <asp:ObjectDataSource ID="objPurchaseType" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="dsKCSOCashierTableAdapters.PurchaseTypeSearchDLLTableAdapter"> </asp:ObjectDataSource> <asp:ObjectDataSource ID="objUser" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="dsKCSOCashierTableAdapters.UserSearchDLLTableAdapter"> </asp:ObjectDataSource> <asp:ObjectDataSource ID="objLocation" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="dsKCSOCashierTableAdapters.LocationSearchDLLTableAdapter"> </asp:ObjectDataSource> </telerik:RadAjaxPanel> </form></body></html>using System;using System.Web.UI.WebControls;using dsKCSOCashierTableAdapters;public partial class Test : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ResetValidation(); ResetItemSearch(); } } private void SearchItems() { grdItemSearchResults.Rebind(); } private void ResetValidation() { errItemStartDate.Text = ""; errItemEndDate.Text = ""; } private bool ValidateItemSearch() { bool valid = true; DateTime startDate = DateTime.Now.AddDays(1); DateTime endDate = DateTime.Now; if (txtItemEndDate.Text.Trim() == string.Empty) { errItemEndDate.Text = "Required"; txtItemEndDate.Focus(); valid = false; } else if (!DateTime.TryParse(txtItemEndDate.Text.Trim(), out endDate)) { errItemEndDate.Text = "Invalid (MM/DD/YYYY)"; txtItemEndDate.Focus(); valid = false; } if (txtItemStartDate.Text.Trim() == string.Empty) { errItemStartDate.Text = "Required"; txtItemStartDate.Focus(); valid = false; } else if (!DateTime.TryParse(txtItemStartDate.Text.Trim(), out startDate)) { errItemStartDate.Text = "Invalid (MM/DD/YYYY)"; txtItemStartDate.Focus(); valid = false; } if (valid) { if (startDate > endDate) { errItemStartDate.Text = "Can not be after end date"; errItemEndDate.Text = "Can not be before start date"; txtItemStartDate.Focus(); valid = false; } } return valid; } protected void btnItemSelectAll_Click(object sender, EventArgs e) { SelectItemCheckBoxes(true); } protected void btnItemSelectNone_Click(object sender, EventArgs e) { SelectItemCheckBoxes(false); } private void SelectItemCheckBoxes(bool checkAll) { chkItemPurchaseType.Items.Clear(); chkItemPurchaseType.DataBind(); foreach (ListItem item in chkItemPurchaseType.Items) { item.Selected = checkAll; } chkItemUser.Items.Clear(); chkItemUser.DataBind(); KCSOCashierSecurity clsSec = new KCSOCashierSecurity(Context.User.Identity.Name.Substring(7)); if (clsSec.GetIsAdmin()) { foreach (ListItem item in chkItemUser.Items) { item.Enabled = true; item.Selected = checkAll; } } else { string userID = clsSec.GetUserID().ToString(); foreach (ListItem item in chkItemUser.Items) { if (item.Value == userID) { item.Enabled = true; item.Selected = checkAll; } else { item.Selected = false; item.Enabled = false; } } } chkItemLocation.Items.Clear(); chkItemLocation.DataBind(); foreach (ListItem item in chkItemLocation.Items) { item.Selected = checkAll; } } protected void btnItemSearch_Click(object sender, EventArgs e) { SearchItems(); } protected void btnItemReset_Click(object sender, EventArgs e) { ResetValidation(); ResetItemSearch(); SearchItems(); } private void ResetItemSearch() { txtItemCartID.Text = ""; txtItemPurchaseID.Text = ""; txtItemStartDate.Text = DateTime.Now.ToShortDateString(); txtItemEndDate.Text = DateTime.Now.ToShortDateString(); txtItemCustomerFirstName.Text = ""; txtItemCustomerLastName.Text = ""; txtItemPurchaseIdentifier.Text = ""; txtItemComments.Text = ""; SelectItemCheckBoxes(true); } protected void btnItemDetails_Command(object sender, CommandEventArgs e) { string cartID = e.CommandArgument.ToString(); Response.Redirect("Details.aspx?cartid=" + cartID, true); } protected void grdItemSearchResults_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e) { ResetValidation(); if (ValidateItemSearch()) { string purchaseTypeIDList = ""; foreach (ListItem cb in chkItemPurchaseType.Items) { if (cb.Selected) { purchaseTypeIDList += cb.Value + ","; } } string userIDList = ""; foreach (ListItem cb in chkItemUser.Items) { if (cb.Selected) { userIDList += cb.Value + ","; } } string locationIDList = ""; foreach (ListItem cb in chkItemLocation.Items) { if (cb.Selected) { locationIDList += cb.Value + ","; } } Purchase_ItemSearch_WithComments_spTableAdapter taItem = new Purchase_ItemSearch_WithComments_spTableAdapter(); dsKCSOCashier.Purchase_ItemSearch_WithComments_spDataTable dtItem = taItem.GetData("%" + txtItemCartID.Text.Trim() + "%", "%" + txtItemPurchaseID.Text.Trim() + "%", Convert.ToDateTime(txtItemStartDate.Text.Trim() + " 00:00:00"), Convert.ToDateTime(txtItemEndDate.Text.Trim() + " 23:59:59"), "%" + txtItemCustomerFirstName.Text.Trim() + "%", "%" + txtItemCustomerLastName.Text.Trim() + "%", "%" + txtItemPurchaseIdentifier.Text.Trim() + "%", purchaseTypeIDList, userIDList, locationIDList, "%" + txtItemComments.Text.Trim() + "%"); grdItemSearchResults.DataSource = dtItem; } else { grdItemSearchResults.DataSource = null; } } protected void grdItemSearchResults_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e) { if (e.CommandName == Telerik.Web.UI.RadGrid.ExportToExcelCommandName || e.CommandName == Telerik.Web.UI.RadGrid.ExportToWordCommandName || e.CommandName == Telerik.Web.UI.RadGrid.ExportToCsvCommandName || e.CommandName == Telerik.Web.UI.RadGrid.ExportToPdfCommandName) { ConfigureExport(); } } public void ConfigureExport() { grdItemSearchResults.ExportSettings.ExportOnlyData = true; grdItemSearchResults.ExportSettings.IgnorePaging = true; grdItemSearchResults.ExportSettings.OpenInNewWindow = true; grdItemSearchResults.ExportSettings.UseItemStyles = true; }}Thank you!
Matt