private static void Export(HttpContext context, string queryParameters, IDataSourceView4 dataSourceView, IExportJournal journal, ICollection <string> selectedValues) { if (!dataSourceView.CheckPermit() || !dataSourceView.CheckPermitExport()) { context.Response.StatusCode = 404; context.Response.End(); return; } var data = selectedValues != null && selectedValues.Count > 0 ? dataSourceView.GetSelectIRowByID(queryParameters, selectedValues.ToArray()) : dataSourceView.GetSelectIRow(queryParameters); var log = InitializerSection.GetSection().LogMonitor; log.Init(); var exportData = data.ToList(); journal.Url = new MainPageUrlBuilder("/MainPage.aspx/data/" + journal.TableName + "Journal" + queryParameters); journal.PrepareExportData(exportData); var args = new JournalExportEventArgs { CheckPermit = true, Columns = GridHtmlGenerator.GetColumnsForExport(journal.GetColumns()), FilterValues = journal.GetFilterValues(), Format = "Excel", Header = journal.TableHeader, LogMonitor = log, Control = new AccessControl(dataSourceView.CheckPermitExport), Data = exportData, }; var url = new MainPageUrlBuilder { UserControl = journal.TableName + "Journal", IsDataControl = true, ShowHistory = true, }; args.ViewJournalUrl = new StringBuilder(); url.CreateUrl(args.ViewJournalUrl); args.ViewJournalUrl.Append("?id.EqualsCollection="); var stream = WebSpecificInstances.GetExcelExporter().GetExcelStream(args); PageHelper.DownloadFile(stream, journal.TableHeader + "." + args.FileNameExtention, context.Response); }
public static IEnumerable <IGridColumn> GetExtNetGridColumns(this BaseGridColumns gridColumns) { return(GridHtmlGenerator.GetColumnsHierarchy <GridColumn>(gridColumns.Columns).Cast <IGridColumn>()); }