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

Icon of paging images are exporting in excel

5 Answers 151 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Shubham
Top achievements
Rank 1
Shubham asked on 11 Feb 2014, 06:05 PM
Hi All ,
         I have two detail Tables in my RadGrid . when I am exporting it in excel the bad image of paging icons are also getting exported in excel.
        these bad images are exporting only for those child grids which have data in it.  please let me know what I am doing wrong.  my code behind code is

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPages/.master" AutoEventWireup="true"
    CodeFile="Sample.aspx.cs" Inherits="Sample" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder_Content" runat="Server">
    <script type="text/javascript">

        
        //To refresh domains and roles grid
        function RefreshSampleRadGrid() {
            var radMgr = $find('<%=RadAjaxManager.GetCurrent(Page).ClientID %>');
            radMgr.ajaxRequest("SampleRadGrid");
            return false;
        }
        
        function DisableAjax(eventTarget, eventArgument) {

            $find('<%=RadAjaxManager.GetCurrent(Page).ClientID %>').__doPostBack(eventTarget, eventArgument);
        }
    </script>
    <telerik:RadSplitter ID="SampleRadSplitter" runat="server">
        <telerik:RadPane ID="TopRadPane" runat="server" SkinID="TopRadPane">
        </telerik:RadPane>
        <telerik:RadSplitBar ID="ProfileRadSplitBar" runat="server" />
        <telerik:RadPane ID="SampleRadPane" runat="server" SkinID="BottomRadPane">
            <telerik:RadDockLayout ID="SampleRadDockLayout" runat="server" OnLoadDockLayout="SampleRadDockLayout_LoadDockLayout">
                <asp:Label ID="MessageLabel" runat="server" Visible="false" SkinID="MessageLabel"></asp:Label>
                <telerik:RadDockZone BorderStyle="None" ID="SampleRadDockZone" runat="server">
                    <telerik:RadDock ID="SampleRadDock" runat="server" OnCommand="RadDock_Command">
                        <TitlebarTemplate>
                            <table class="RadDockTitlebarTemplateTableClass">
                                <tr>
                                    <td>
                                        <asp:Label ID="ConfigurationFileLabel" runat="server" Text="Configuration File"
                                            SkinID="RadDockTitleLabel" />
                                    </td>
                                    <td>
                                        <asp:LinkButton ID="RemoveLinkButton" runat="server" Text="Clear Selected" SkinID="SmallLinkButton"
                                            OnClick="RemoveLinkButton_Click"></asp:LinkButton>
                                    </td>
                                </tr>
                            </table>
                        </TitlebarTemplate>
                        <ContentTemplate>
                            <div class="RadGridHorizontalScroll">
                                <telerik:RadGrid ID="SampleRadGrid" OnPreRender="SampleRadGrid_PreRender" OnNeedDataSource="SampleRadGrid_NeedDataSource"
                                    runat="server" Width="99.4%" OnDetailTableDataBind="SampleRadGrid_DetailTableDataBind"
                                    OnItemDataBound="SampleRadGrid_ItemDataBound" OnItemCreated="SampleRadGrid_ItemCreated"
                                    OnPageIndexChanged="SampleRadGrid_PageIndexChanged">
                                    <ClientSettings>
                                        <Resizing AllowColumnResize="true" EnableRealTimeResize="true" ResizeGridOnColumnResize="true"
                                            ClipCellContentOnResize="true" />
                                    </ClientSettings>
                                    <MasterTableView DataKeyNames="userID,userName" HierarchyLoadMode="Client"
                                        HierarchyDefaultExpanded="false" TableLayout="Fixed" CommandItemDisplay="Top">
                                        <CommandItemTemplate>
                                            <table width="100%">
                                                <tr>
                                                    <td></td>
                                                    <td class="ExportButtonIconSaperator">
                                                        <asp:ImageButton ID="ExportToExcelImageButton" SkinID="ExportToExcelImageButtonSkin"
                                                            runat="server" OnClick="ExportToExcelImageButton_Click" />
                                                    </td>
                                                </tr>
                                            </table>
                                        </CommandItemTemplate>

                                        <Columns>
                                            <telerik:GridBoundColumn SortExpression="userName" HeaderText="user" HeaderButtonType="TextButton"
                                                DataField="userName">
                                                <%-- Defect# 12711--%>
                                            </telerik:GridBoundColumn>
                                        </Columns>
                                        <DetailTables>
                                            <telerik:GridTableView DataKeyNames="ConfigurationID,userID" GridLines="None" HierarchyLoadMode="Client" HierarchyDefaultExpanded="true">
                                                <PagerStyle Visible="false" />
                                                <ParentTableRelation>
                                                    <telerik:GridRelationFields DetailKeyField="userID" MasterKeyField="userID" />
                                                </ParentTableRelation>
                                                <Columns>
                                                    <telerik:GridBoundColumn DataField="ConfigurationDesc" HeaderText="Configuration Name"
                                                        UniqueName="ConfigurationDesc">
                                                    </telerik:GridBoundColumn>
                                                    <telerik:GridBoundColumn DataField="user" HeaderText="user" UniqueName="user">
                                                        <%-- Defect# 12711--%>
                                                    </telerik:GridBoundColumn>
                                                    <telerik:GridBoundColumn DataField="FixedColumn" HeaderText="Fixed Column" UniqueName="FixedColumn">
                                                    </telerik:GridBoundColumn>
                                                    <telerik:GridBoundColumn DataField="meter" HeaderText="meter" UniqueName="meter">
                                                    </telerik:GridBoundColumn>
                                                    <telerik:GridBoundColumn DataField="Type" HeaderText="Code"
                                                        UniqueName="DisbursementType">
                                                    </telerik:GridBoundColumn>
                                                </Columns>
                                                <DetailTables>
                                                    <telerik:GridTableView DataKeyNames="ID,userID" Width="100%" GridLines="None"
                                                        HierarchyLoadMode="Client" AllowCustomPaging="true">
                                                        <ParentTableRelation>
                                                            <telerik:GridRelationFields DetailKeyField="userID" MasterKeyField="userID" />
                                                        </ParentTableRelation>
                                                        <Columns>
                                                            <telerik:GridTemplateColumn UniqueName="SelectItemCheckBoxColumn" Resizable="false" Reorderable="false">
                                                                <ItemTemplate>
                                                                    <asp:CheckBox ID="SelectItemCheckBox" runat="server" onclick="return CheckItem(this);" />
                                                                </ItemTemplate>
                                                                <HeaderTemplate>
                                                                    <asp:CheckBox ID="SelectHeaderCheckBox" runat="server" onclick="CheckAll(this);" />
                                                                </HeaderTemplate>
                                                            </telerik:GridTemplateColumn>
                                                            <telerik:GridTemplateColumn HeaderText="Action" UniqueName="TemplateColumn" Resizable="false" Reorderable="false">
                                                                <ItemTemplate>
                                                                    <asp:HyperLink ID="EditHyperLink" runat="server" Text="Edit" SkinID="SmallHyperLink"></asp:HyperLink>
                                                                </ItemTemplate>
                                                                <HeaderStyle Width="5%" />
                                                            </telerik:GridTemplateColumn>
                                                            <telerik:GridBoundColumn DataField="UniqueNumber" HeaderText="Unique Number"
                                                                UniqueName="UniqueNumber" SortExpression="UniqueNumber">
                                                                <HeaderStyle Width="10%" />
                                                            </telerik:GridBoundColumn>
                                                            <telerik:GridBoundColumn DataField="Number" HeaderText="Number" UniqueName="Number"
                                                                SortExpression="Number">
                                                            </telerik:GridBoundColumn>
                                                            <telerik:GridBoundColumn DataField="com" HeaderText="com" UniqueName="com"
                                                                SortExpression="com">
                                                                <HeaderStyle Width="10%" />
                                                            </telerik:GridBoundColumn>
                                                            <telerik:GridBoundColumn DataField="Date/Time" HeaderText="Date/Time" UniqueName="Date/Time"
                                                                SortExpression="Date/Time">
                                                                <HeaderStyle Width="10%" />
                                                            </telerik:GridBoundColumn>
                                                            <telerik:GridBoundColumn DataField="com" HeaderText=" com" UniqueName="com" SortExpression="com">
                                                                <%-- Defect# 12711--%>
                                                            </telerik:GridBoundColumn>
                                                            <telerik:GridBoundColumn DataField="Pump" HeaderText=" Dispenser" UniqueName="Pump" SortExpression="Pump">
                                                                <%-- Defect# 12711--%>
                                                            </telerik:GridBoundColumn>
                                                            <telerik:GridBoundColumn DataField="Type" HeaderText=" Type" UniqueName="Type"
                                                                SortExpression="Type">
                                                            </telerik:GridBoundColumn>
                                                            <telerik:GridBoundColumn DataField="Quantity" HeaderText="Quantity" UniqueName="Quantity"
                                                                SortExpression="Quantity">
                                                            </telerik:GridBoundColumn>
                                                            <telerik:GridBoundColumn DataField="Cost" HeaderText="Cost" UniqueName="Cost" SortExpression="Cost">
                                                            <telerik:GridBoundColumn DataField="ErrorDescription" HeaderText="Error Description"
                                                                UniqueName="ErrorDescription" SortExpression="ErrorDescription">
                                                                <HeaderStyle Width="20%" />
                                                            </telerik:GridBoundColumn>
                                                        </Columns>
                                                    </telerik:GridTableView>
                                                </DetailTables>
                                            </telerik:GridTableView>
                                        </DetailTables>
                                    </MasterTableView>
                                </telerik:RadGrid>
                            </div>
                        </ContentTemplate>
                        <Commands>
                            <telerik:DockCommand Text="Save Position" AutoPostBack="true" />
                            <telerik:DockExpandCollapseCommand />
                        </Commands>
                    </telerik:RadDock>
                </telerik:RadDockZone>
            </telerik:RadDockLayout>
            <telerik:RadWindowManager ID="RadWindowManager" runat="server">
                <Windows>
                    <telerik:RadWindow ID="EditDialog" Title=" Transactions"
                        Left="150px" runat="server" />
                    <telerik:RadWindow ID="ErrorDialog" Title="Process Errors" Left="150px" runat="server"></telerik:RadWindow>
                </Windows>
            </telerik:RadWindowManager>
        </telerik:RadPane>
    </telerik:RadSplitter>
</asp:Content>





public partial class Sample 
{
   #region Events

    protected void Page_Load(object sender, EventArgs e)
    {
        TitleSetHelper.Instance.SetHeaderText(sampleRadGrid);
        ValidateCredentials(FuelPermission.Check(SecurityAttribute.FuelPerm.FuelTransactionImport), false);
        RadAjaxManager radAjaxManager = Master.FindControl("RadAjaxManagerFuel") as RadAjaxManager;
        if (radAjaxManager != null)
        {
            radAjaxManager.AjaxSettings.AddAjaxSetting(radAjaxManager, sampleRadGrid);
            radAjaxManager.AjaxSettings.AddAjaxSetting(sampleRadGrid, sampleRadGrid);
            radAjaxManager.AjaxSettings.AddAjaxSetting(radAjaxManager, RemoveLinkButton);
            radAjaxManager.AjaxSettings.AddAjaxSetting(sampleRadGrid, RemoveLinkButton);
            radAjaxManager.AjaxSettings.AddAjaxSetting(sampleRadGrid, MessageLabel);
            radAjaxManager.AjaxSettings.AddAjaxSetting(RemoveLinkButton, MessageLabel);
        }
        
    }

    protected void Page_Init(object sender, EventArgs e)
    {
        AddCustomPager(sampleRadGrid);
        GridTableView gridTableView = sampleRadGrid.MasterTableView.DetailTables[0].DetailTables[0];
        if (gridTableView != null)
        {
            gridTableView.AllowPaging = true;
            gridTableView.PagerStyle.AlwaysVisible = true;
        }
       
    }


    protected void sampleRadGrid_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
    {
        try
        {
            userInfoList userInfoList = userInfoList.GetInfoList("user", (Int32)userStatus.Active);
            DataTable dataTable = new DataTable("userInfoListData");
            dataTable.Columns.Add(new DataColumn("userID", Type.GetType("System.Int32")));
            dataTable.Columns.Add(new DataColumn("userName", Type.GetType("System.String")));

            foreach (userInfo userInfo in userInfoList)
            {
                DataRow dataRow = dataTable.NewRow();
                dataRow["userID"] = userInfo.userID;
                dataRow["userName"] = userInfo.userName;
                dataTable.Rows.Add(dataRow);
            }
            sampleRadGrid.DataSource = dataTable;
        }
        catch (Exception ex)
        {
            FasterExceptionHandler.Instance.HandleException(ex, ExceptionResources.userInfoListGet, MessageLabel, null);
        }
        if (Cacheobject[String.Format("GridPageIndex{0}", _guid)] != null)
            sampleRadGrid.CurrentPageIndex = (Int32)Cacheobject[String.Format("GridPageIndex{0}", _guid)];
    }

    protected void sampleRadGrid_DetailTableDataBind(object source, Telerik.Web.UI.GridDetailTableDataBindEventArgs e)
    {
       
        
        Cacheobject.Remove(String.Format("IDList{0}", _guid));
        //if (Cacheobject[String.Format("user{0}", _guid)] != null)
        Cacheobject.Remove(String.Format("user{0}", _guid));
        //if (Cacheobject[String.Format("GridPageIndex{0}", _guid)] != null)
        Cacheobject.Remove(String.Format("GridPageIndex{0}", _guid));
        List<Int32> transactionIDList = new List<Int32>();
        Int32 userID = 0;
        Int32 ConfigurationID = 0;
        String userName = String.Empty;
        GridDataItem dataItem = e.DetailTableView.ParentItem;
        userID = Convert.ToInt32(dataItem.GetDataKeyValue("userID"));
        AddCache(String.Format("user{0}", _guid), userID);
        userName = Convert.ToString(dataItem.GetDataKeyValue("userName"));
        ConfigurationID = Convert.ToInt32(dataItem.GetDataKeyValue("ConfigurationID"));
        DataSet dataSet = new DataSet();

        if (ConfigurationID == 0)
        {
            try
            {
                sampleRadGrid.VirtualItemCount = InfoList.GetTotalRecords(userID);
            }
           
            catch (Exception ex)
            {
                ExceptionHandler.Instance.HandleException(ex, ExceptionResources.InfoList, MessageLabel, null, "userID: " + userID);
            }

      

            DataTable dataTable = new DataTable("Configuration");
            dataTable.Columns.Add(new DataColumn("ConfigurationID", System.Type.GetType("System.Int32")));
            dataTable.Columns.Add(new DataColumn("userID", System.Type.GetType("System.Int32")));
            dataTable.Columns.Add(new DataColumn("ConfigurationDesc", System.Type.GetType("System.String")));
            dataTable.Columns.Add(new DataColumn("user", System.Type.GetType("System.String")));
            dataTable.Columns.Add(new DataColumn("FixedColumn", System.Type.GetType("System.String")));
            dataTable.Columns.Add(new DataColumn("meter", System.Type.GetType("System.String")));
            dataTable.Columns.Add(new DataColumn("Type", System.Type.GetType("System.String")));
            ConfigurationInfo ConfigurationInfo = null;
            try
            {
                ConfigurationInfo = ConfigurationInfo.GetInfo(null, userID);
            }
          
            catch (Exception ex)
            {
                FasterExceptionHandler.Instance.HandleException(ex, ExceptionResources.ConfigurationInfoGet, MessageLabel, null);
            }

            if (ConfigurationInfo != null)
            {
                DataRow row = dataTable.NewRow();
                row["ConfigurationID"] = ConfigurationInfo.ConfigurationID;
                row["userID"] = ConfigurationInfo.userID;
                row["ConfigurationDesc"] = ConfigurationInfo.ConfigurationDesc;
                row["user"] = userName;
                row["FixedColumn"] = ConfigurationInfo.IsColumnFixed ? "Yes" : "No";
                try
                {
                    row["meter"] = ConfigurationInfo.DelimeterID == null ? String.Empty : STLImportConfigurationDelimeterInfo.GetInfo(Convert.ToInt32(ConfigurationInfo.DelimeterID)).DelimeterDesc;
                }
              
                catch (Exception ex)
                {
                    FasterExceptionHandler.Instance.HandleException(ex, ExceptionResources.ImportConfigurationDelimeterGet, MessageLabel, null);
                }
                try
                {
                    row["Type"] = ConfigurationInfo.DisbursementID == null ? String.Empty : STLDisbursementInfo.GetInfo(Convert.ToInt32(ConfigurationInfo.DisbursementID)).DisbursementDesc;
                }
                //Updated by CB for Feature# 2575
                catch (Exception ex)
                {
                    FasterExceptionHandler.Instance.HandleException(ex, ExceptionResources.STLDisbursementInfoGet, MessageLabel, null);
                }
                dataTable.Rows.Add(row);
            }
            dataSet.Merge(dataTable);

           
        }
        else
        {
            #region Processing Errors Grid

            DataTable tempDataTable = new DataTable("tempDataTable");
            tempDataTable.Columns.Add(new DataColumn("TransactionID", Type.GetType("System.Int32")));
            tempDataTable.Columns.Add(new DataColumn("userID", Type.GetType("System.Int32")));
            tempDataTable.Columns.Add(new DataColumn("TransactionNumber", Type.GetType("System.String")));
            tempDataTable.Columns.Add(new DataColumn("AssetNumber", Type.GetType("System.String")));
            tempDataTable.Columns.Add(new DataColumn("Organization", Type.GetType("System.String")));
            tempDataTable.Columns.Add(new DataColumn("Date/Time", Type.GetType("System.String")));
            tempDataTable.Columns.Add(new DataColumn("Site", Type.GetType("System.String")));
            tempDataTable.Columns.Add(new DataColumn("Pump", Type.GetType("System.String")));
            tempDataTable.Columns.Add(new DataColumn("FuelType", Type.GetType("System.String")));
            tempDataTable.Columns.Add(new DataColumn("Quantity", Type.GetType("System.String")));
            tempDataTable.Columns.Add(new DataColumn("ErrorDescription", Type.GetType("System.String")));
            //To get sort expression.
            System.Text.StringBuilder sortExpression = new System.Text.StringBuilder();
            foreach (GridSortExpression gridSortExpression in sampleRadGrid.MasterTableView.SortExpressions)
            {
                sortExpression.Append(gridSortExpression.FieldName);
                if (gridSortExpression.SortOrder == GridSortOrder.Descending)
                    sortExpression.Append(" Desc");
                else
                    sortExpression.Append(" Asc");
                sortExpression.Append(",");
            }
            try
            {
                if (Cacheobject[String.Format("DetailTablePageIndex{0}", _guid)] != null && Cacheobject[String.Format("IsPageIndexChanged{0}", _guid)] != null)
                {
                    e.DetailTableView.CurrentPageIndex = (Int32)Cacheobject[String.Format("DetailTablePageIndex{0}", _guid)];
                    Cacheobject.Remove(String.Format("IsPageIndexChanged{0}", _guid));
                }
                if (Cacheobject[String.Format("PageSize{0}", _guid)] != null)
                {
                    e.DetailTableView.PageSize = (Int32)Cacheobject[String.Format("PageSize{0}", _guid)];
                    Cacheobject.Remove(String.Format("PageSize{0}", _guid));
                }
                InfoList InfoList = InfoList.GetInfoList(userID, e.DetailTableView.CurrentPageIndex + 1, e.DetailTableView.PageSize, sortExpression.ToString());
                _pageSize = e.DetailTableView.PageSize;
                _sortExpression = sortExpression.ToString();
                foreach (TempFuelTransactionInfo tempFuelTransaction in InfoList)
                {
                    if (IDList.Count < e.DetailTableView.PageSize)
                    {
                        String site = String.Empty;
                        String pump = String.Empty;
                        String errorDescription = String.Empty;
                        String billCode = String.Empty;
                        DataRow Row = tempDataTable.NewRow();
                        Row["TransactionID"] = temp.ID;
                        Row["userID"] = tempFuelTransaction.userID;
                        Row["TransactionNumber"] = tempFuelTransaction.TransactionNumber;
                        Row["Organization"] = tempFuelTransaction.Organization;
                        if (!String.IsNullOrEmpty(tempFuelTransaction.TransactionDate))
                            Row["Date/Time"] = Convert.ToDateTime(tempFuelTransaction.TransactionDate).ToString("MM/dd/yyyy HH:mm:sss");
                        _transactionID = tempFuelTransaction.TransactionID;
                        Boolean isError = false;
                        String rejectedRecordBits = tempFuelTransaction.RejectedRecordsBitsString;

                 IDList.Add(tempFuelTransaction.TransactionID);
                }
                AddSlidingCache(String.Format("IDList{0}", _guid), transactionIDList);
                AddSlidingCache(String.Format("GridPageIndex{0}", _guid), sampleRadGrid.CurrentPageIndex);
                AddSlidingCache(String.Format("DetailTablePageIndex{0}", _guid), e.DetailTableView.CurrentPageIndex);
            }
            
            catch (Exception ex)
            {
                FasterExceptionHandler.Instance.HandleException(ex, ExceptionResources.TempFuelTransactionInfoGet, MessageLabel, null);
            }
            dataSet.Merge(tempDataTable);

            #endregion
        }
        e.DetailTableView.DataSource = dataSet;
    }

    protected void sampleRadGrid_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            HyperLink editHyperLink = e.Item.FindControl("EditHyperLink") as HyperLink;
            if (editHyperLink != null)
            {
                GridDataItem dataItem = e.Item as GridDataItem;
                string checkSite = dataItem["Site"].Text;
                //String formatting off of data item
                //<Font color=red></font>
                if (checkSite.Contains(@"<Font color=red>"))
                    checkSite = checkSite.Replace(@"<Font color=red>", "");
                if (checkSite.Contains(@"</Font>"))
                    checkSite = checkSite.Replace(@"</Font>", "");
                if (checkSite.Contains(_errorImagePath))
                    checkSite = checkSite.Replace(_errorImagePath, "");

               
            }
        }
    }
    protected void sampleRadGrid_PreRender(object sender, EventArgs e)
    {
        Boolean hasRecords = false;
        if (sampleRadGrid.MasterTableView.Items.Count > 0)
        {
            foreach (GridDataItem dataItem in sampleRadGrid.MasterTableView.Items)
            {

                foreach (GridDataItem nestedDataItem in dataItem.ChildItem.NestedTableViews[0].Items)
                {

                    if (!hasRecords && nestedDataItem.ChildItem.NestedTableViews[0].Items.Count > 0)
                    {
                        hasRecords = true;
                        break;
                    }
                }
                if (hasRecords)
                    break;

            }
        }
        RemoveLinkButton.Enabled = hasRecords;
        
    }

    protected void RemoveLinkButton_Click(object sender, EventArgs e)
    {
        String cacheName = String.Format("TempTransactionID{0}", _guid);
        if (Cacheobject[cacheName] != null)
        {
            Cacheobject.Remove(cacheName);
        }
        MessageLabel.Visible = false;
        List<Int32> transactionIDList = new List<Int32>();
        foreach (GridDataItem gridDataItem in sampleRadGrid.Items)
        {
            CheckBox processErrorcheckBox = gridDataItem.FindControl("SelectItemCheckBox") as CheckBox;
            if (processErrorcheckBox != null && processErrorcheckBox.Checked)
            {
                Int32 ID = 0;
                Int32.TryParse(Convert.ToString(gridDataItem.GetDataKeyValue("ID")), out ID);
                transactionIDList.Add(ID);
            }
        }
       
       
    }
    protected void ExportToExcelImageButton_Click(object sender, EventArgs e)
    {
        ExportDataToFile();
        ExportToExcel(sampleRadGrid, "sampleResults", false, String.Empty);
    }
    protected void Page_PreRender(object sender, System.EventArgs e)
    {
        GridItem commandItem = sampleRadGrid.MasterTableView.GetItems(GridItemType.CommandItem)[0];
        ImageButton exportToExcelImageButton = commandItem.FindControl("ExportToExcelImageButton") as ImageButton;
        Boolean isGridHasData = sampleRadGrid.Items.Count > 0;
        if (exportToExcelImageButton != null)
        {
            exportToExcelImageButton.Enabled = isGridHasData;
            if (exportToExcelImageButton.Enabled)
            {
                exportToExcelImageButton.Attributes.Add("onclick", String.Format("DisableAjax(\"{0}\", \"\"); return false;", exportToExcelImageButton.UniqueID));
                exportToExcelImageButton.Style.Add(StringResources.CssCursorKey, StringResources.CssCursorValue);
            }
        }
    }
    private userFuelSiteInfo userFuelSiteGet(string checkSite, int userID)
    {
        userFuelSiteInfo userFuelSiteInfo = null;

        try
        {
            userFuelSiteInfo = userFuelSiteInfo.GetInfo(checkSite, userID);
        }
        //Updated by CB for Feature# 2575
        catch (Exception ex)
        {
            FasterExceptionHandler.Instance.HandleException(ex, ExceptionResources.userFuelSiteInfoGet, MessageLabel, null, "userID:" + userID.ToString() + "userFuelSite:" + checkSite);
        }
        return userFuelSiteInfo;
    }

    protected void sampleRadGrid_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
    {
        if (e.Item is GridDataItem)
        {
            if (Cacheobject[String.Format("user{0}", _guid)] != null && e.Item.OwnerTableView.HierarchyDefaultExpanded)
            {
                if (Convert.ToInt32(e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["userID"]) == (Int32)Cacheobject[String.Format("user{0}", _guid)])
                    e.Item.OwnerTableView.HierarchyDefaultExpanded = true;
                else
                    e.Item.OwnerTableView.HierarchyDefaultExpanded = false;
            }
        }
    }

    protected void sampleRadGrid_PageIndexChanged(object source, GridPageChangedEventArgs e)
    {
        e.Item.OwnerTableView.CurrentPageIndex = e.NewPageIndex;
        AddSlidingCache(String.Format("GridPageIndex{0}", _guid), sampleRadGrid.CurrentPageIndex);
        Cacheobject.Remove(String.Format("DetailTablePageIndex{0}", _guid));
    }

    #endregion

    #region Class Functions
    /// <summary>
    /// Create Export Data
    /// </summary>
    private void ExportDataToFile()
    {
        sampleRadGrid.MasterTableView.ExpandCollapseColumn.Display = false;
        sampleRadGrid.MasterTableView.HierarchyLoadMode = GridChildLoadMode.Client;
        sampleRadGrid.MasterTableView.DetailTables[0].ExpandCollapseColumn.Display = false;
        sampleRadGrid.MasterTableView.DetailTables[0].DetailTables[0].ExpandCollapseColumn.Display = false;
        sampleRadGrid.MasterTableView.DetailTables[0].DetailTables[0].ShowFooter  = false;
        sampleRadGrid.MasterTableView.DetailTables[0].DetailTables[0].ShowGroupFooter= false;
        sampleRadGrid.MasterTableView.DetailTables[0].DetailTables[0].PagerStyle.Visible  = false;
        sampleRadGrid.ExportSettings.IgnorePaging = true;
        sampleRadGrid.MasterTableView.DetailTables[0].DetailTables[0].AllowPaging = false;
        GridTemplateColumn templateColumn = sampleRadGrid.MasterTableView.DetailTables[0].DetailTables[0].Columns.FindByUniqueName("TemplateColumn") as GridTemplateColumn;
        if (templateColumn != null)
            templateColumn.Visible = false;
        GridTemplateColumn selectItemCheckBoxColumn = sampleRadGrid.MasterTableView.DetailTables[0].DetailTables[0].Columns.FindByUniqueName("SelectItemCheckBoxColumn") as GridTemplateColumn;
        if (selectItemCheckBoxColumn != null)
            selectItemCheckBoxColumn.Visible = false;
    }
    protected void ExportToExcel(RadGrid searchRadGrid, String fileName, Boolean isActionColumn, String columnUniqueName)
        {
            if (isActionColumn)
                searchRadGrid.MasterTableView.Columns.FindByUniqueName(columnUniqueName).Display = false;
            
            if (searchRadGrid.MasterTableView.HasDetailTables)
            {
                foreach (GridTableView gridTableView in searchRadGrid.MasterTableView.DetailTables)
                {
                    // Added by partner CB to Fix defect 15597 
                    gridTableView.AllowPaging = false;
                    gridTableView.HierarchyDefaultExpanded = true;
                }
            }
            searchRadGrid.ExcelExportCellFormatting += new OnExcelExportCellFormattingEventHandler(SearchRadGrid_ExcelExportCellFormatting);
            searchRadGrid.ItemCreated += new GridItemEventHandler(RadGrid_ItemCreated);
            searchRadGrid.ExportSettings.ExportOnlyData = true;
            searchRadGrid.ExportSettings.IgnorePaging = true;
            searchRadGrid.ExportSettings.OpenInNewWindow = true;
            searchRadGrid.ExportSettings.FileName = fileName;
            _isExport = true;
            searchRadGrid.MasterTableView.ExportToExcel();
        }
    #endregion
}
Thanks

5 Answers, 1 is accepted

Sort by
0
Shubham
Top achievements
Rank 1
answered on 12 Feb 2014, 11:53 AM
Hi All ,

           with the above code when I am exporting the excel file  records are hidden by default (have records but rows are not visible by default we have to increase the row height every  time to see  the records)

Please find the attached image of that excel file .
0
Viktor Tachev
Telerik team
answered on 14 Feb 2014, 01:22 PM
Hello Shubham,

Please ensure that ExportOnlyData property of RadGrid is set to true. Additionally you could take a look at this forum thread that discusses exporting data from RadGrid with hierarchy.

This being said, would you provide a screenshot of the RadGrid control and the result when it is exported? This would allow us to have better understanding of your scenario and the issue you are facing.


Regards,
Viktor Tachev
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 UI for ASP.NET AJAX, subscribe to the blog feed now.
0
Shubham
Top achievements
Rank 1
answered on 15 Feb 2014, 08:56 AM
Hi Viktor Tachev

I am using ExportOnlyData property of RadGrid is set to true . but it is not working  for me .
Get  the attached image of exported file in excel format how does it look like.

Thanks
0
Viktor Tachev
Telerik team
answered on 19 Feb 2014, 03:08 PM
Hello Shubham,

Try disabling the paging for RadGrid before exporting, this way the paging icons should not be exported.

The reason for the detail tables being hidden, however would be hard to pinpoint without replicating the behavior locally. Would you try isolating the issue in a sample project as described in this article and pasting the code in this thread as code block? This would allow us to investigate the issue locally and look for the cause.

Regards,
Viktor Tachev
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 UI for ASP.NET AJAX, subscribe to the blog feed now.
0
Shubham
Top achievements
Rank 1
answered on 20 Feb 2014, 11:28 AM
Hi Viktor Tachev  

Thanks for  the help now  the  issue is  resolved
Thanks
Tags
Grid
Asked by
Shubham
Top achievements
Rank 1
Answers by
Shubham
Top achievements
Rank 1
Viktor Tachev
Telerik team
Share this question
or