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
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