or

protected void RadGridInventory_GridExporting(object source, GridExportingArgs e) { foreach (GridDataItem item in RadGridInventory.MasterTableView.Items) { item["AccountId"].Text = (item.FindControl("lControl") as HyperLink).Text; //returns null
item["Status"].Text = (item.FindControl("statusCode") as LiteralControl).Text; //returns null
} if (e.ExportType == ExportType.Excel) { string customText = "<h1 style='text-align:center;'>Inventory Report for " + _applicationUser.Customer.Name + "</h1>"; customText += "<p style='text-align:center;'><b>Current Date:</b> " + DateTime.Now + "<br />"; if(RadDatePickerStarting.SelectedDate != null && RadDatePickerEnding.SelectedDate != null){ customText += "<b>Date Range Covered:</b> " + RadDatePickerStarting.SelectedDate + " - " + RadDatePickerEnding.SelectedDate + "<br />"; } else { customText += "<b>Date Range Covered:</b> " + RadComboBoxChoices.SelectedItem.Text + "<br />"; } customText += "<b>Clients:</b>"; foreach (var client in ClientSelector1.SelectedClients) { customText += " " + client.Name + ","; } customText = customText.TrimEnd(','); customText += "</p>"; e.ExportOutput = e.ExportOutput.Replace("<body>", "<body>" + customText); } }public void BuildGrid(IList<UserReportColumn> userReportColumns) { RadGridInventory.FilterMenu.EnableEmbeddedSkins = false; RadGridInventory.PreRender += RadGridInventory_PreRender; RadGridInventory.EnableLinqExpressions = false; RadGridInventory.AllowFilteringByColumn = true; RadGridInventory.AllowPaging = true; RadGridInventory.AllowSorting = true; RadGridInventory.GridLines = GridLines.None; RadGridInventory.ShowGroupPanel = true; RadGridInventory.AutoGenerateColumns = false; RadGridInventory.CssClass = "RadGridAccounts"; RadGridInventory.EnableViewState = false; RadGridInventory.Width = Unit.Pixel(1090); RadGridInventory.EnableEmbeddedSkins = false; RadGridInventory.ClientSettings.AllowDragToGroup = true; RadGridInventory.ClientSettings.Resizing.AllowColumnResize = true; RadGridInventory.ClientSettings.Resizing.AllowRowResize = true; RadGridInventory.ClientSettings.Resizing.ResizeGridOnColumnResize = true; RadGridInventory.ClientSettings.Resizing.ClipCellContentOnResize = true; RadGridInventory.ClientSettings.Resizing.EnableRealTimeResize = false; RadGridInventory.ClientSettings.Resizing.ShowRowIndicatorColumn = false; RadGridInventory.PagerStyle.Mode = GridPagerMode.NextPrevAndNumeric; RadGridInventory.ExportSettings.HideStructureColumns = true; RadGridInventory.ExportSettings.ExportOnlyData = true; RadGridInventory.ExportSettings.IgnorePaging = true; RadGridInventory.MasterTableView.DataKeyNames = new string[] { "AccountId" }; RadGridInventory.MasterTableView.ClientDataKeyNames = new string[] { "AccountId" }; RadGridInventory.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.Top; RadGridInventory.MasterTableView.CommandItemSettings.ShowExportToExcelButton = true; RadGridInventory.MasterTableView.CommandItemSettings.ShowExportToCsvButton = true; RadGridInventory.MasterTableView.CommandItemSettings.ShowAddNewRecordButton = false; RadGridInventory.GridExporting += new OnGridExportingEventHandler(RadGridInventory_GridExporting); RadGridInventory.MasterTableView.Width = Unit.Percentage(100); var accountColumn = userReportColumns.FirstOrDefault(x => x.ReportColumn.ColumnName == "AccountId"); if (accountColumn != null) { var templateColumn = new GridTemplateColumn(); RadGridInventory.MasterTableView.Columns.Add(templateColumn); templateColumn.ItemTemplate = new AccountColumnTemplate("AccountId"); templateColumn.DataField = "AccountId"; templateColumn.SortExpression = "AccountId"; templateColumn.UniqueName = "AccountId"; templateColumn.GroupByExpression = "Group By AccountId"; templateColumn.HeaderText = accountColumn.ColumnHeaderEval; } foreach (var column in userReportColumns) { if (column.ReportColumn.ColumnName == "AccountId") continue; if (column.ReportColumn.ColumnName == "Status") continue; var boundColumn = new GridBoundColumn(); RadGridInventory.MasterTableView.Columns.Add(boundColumn); AccountGridHelpers.SetupBoundColumn(boundColumn, column); } var statusColumn = userReportColumns.FirstOrDefault(x => x.ReportColumn.ColumnName == "Status"); if (statusColumn != null) { var statusTemplateColumn = new GridTemplateColumn(); RadGridInventory.MasterTableView.Columns.Add(statusTemplateColumn); statusTemplateColumn.ItemTemplate = new StatusColumnTemplate("Status"); statusTemplateColumn.DataField = "Status"; statusTemplateColumn.UniqueName = "Status"; statusTemplateColumn.AllowFiltering = true; statusTemplateColumn.SortExpression = "Status"; statusTemplateColumn.HeaderText = statusColumn.ColumnHeaderEval; } }public class AccountColumnTemplate : ITemplate { protected HyperLink lControl; private string _colname; public AccountColumnTemplate(string cName) { _colname = cName; } public void InstantiateIn(System.Web.UI.Control container) { lControl = new HyperLink {ID = "lControl"}; lControl.DataBinding += lControl_DataBinding; container.Controls.Add(lControl); } public void lControl_DataBinding(object sender, EventArgs e) { var l = (HyperLink)sender; var container = (GridDataItem)l.NamingContainer; l.Attributes["href"] = "/Secure/AccountDetail.aspx?account=" + ((AccountDtoBase)container.DataItem).AccountId; l.Text = ((AccountDtoBase)container.DataItem).AccountId; } }