/// <summary> /// 编辑报表 /// </summary> /// <param name="id">报表ID</param> /// <param name="report">报表</param> /// <returns>Result</returns> public Result <object> editReport(string id, ReportDefinition report) { if (!verify("editReport")) { return(result); } var data = DbHelper.find <ReportDefinition>(id); if (data == null) { return(result.notFound()); } data.categoryId = report.categoryId; data.name = report.name; data.mode = report.mode; data.delay = report.delay; data.reportType = report.reportType; data.dataSource = report.dataSource; data.remark = report.remark; if (existed(data)) { return(result.dataAlreadyExists()); } return(DbHelper.update(data) ? result : result.dataBaseError()); }
private void _save_Click(object sender, EventArgs e) { if (_fileName == null) { using (var form = new SaveForm()) { form.Path = Path.Combine(_directory, "Report.wqreport"); if (form.ShowDialog(this) != DialogResult.OK) { return; } _fileName = Path.GetFileName(form.Path); Text += " - " + _fileName; } } var report = new ReportDefinition { Entity = _entity }; report.Filters.AddRange(_filters); report.Fields.AddRange(_columns.GetFields()); report.Fields.AddRange(_rows.GetFields()); report.Fields.AddRange(_values.GetFields()); report.Save(Path.Combine(_directory, _fileName)); }
public ReportPaginator(DocumentPaginator documentPaginator) { _paginator = documentPaginator; _reportDefinition = new ReportDefinition(); _paginator.PageSize = _reportDefinition.ContentSize; }
protected override void Method(DataLakeAdWordsContext dbContext) { var now = DateTime.UtcNow; var lastRecord = dbContext.AdPerformanceReports.OrderByDescending(r => r.Date).FirstOrDefault(); var minDate = StartDate; if (lastRecord != null) { minDate = DateTime.ParseExact(lastRecord.Date, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); if (now - minDate < TimeMargin) { minDate = now.Date - TimeMargin; } } var maxDate = minDate + TimeStep; var records = new List <DLM.AdPerformance>(); var definition = new ReportDefinition { reportName = "Last 30 days AD_PERFORMANCE_REPORT", dateRangeType = ReportDefinitionDateRangeType.CUSTOM_DATE, reportType = ReportDefinitionReportType.AD_PERFORMANCE_REPORT, downloadFormat = DownloadFormat.TSV, selector = new Selector { fields = new string[] { "CampaignId", "AdGroupId", "Id", "Headline", "Date", "Impressions", "VideoViews", "Clicks", "Engagements", "AverageCpm", "AverageCpv", "AverageCpc", "AverageCpe", "Cost" }, dateRange = new DateRange { min = FormatDate(minDate), max = FormatDate(maxDate) } } }; while (maxDate < now) { definition.selector.dateRange.min = FormatDate(minDate); definition.selector.dateRange.max = FormatDate(maxDate); records = records.Concat(DefinitionToRecords(dbContext, definition, now)).ToList(); minDate = maxDate + OneDay; maxDate += TimeStep; } definition.selector.dateRange.min = FormatDate(minDate); definition.selector.dateRange.max = FormatDate(now); records = records.Concat(DefinitionToRecords(dbContext, definition, now)).ToList(); dbContext.AddRange(records); Logger.Debug("Inserted {Count} new records", records.Count()); }
/// <summary> /// This is the primary function aimed at running a report - we simply pass the report /// through to the tabview who does the actual work /// </summary> /// <param name="report"></param> public void RunReport(ReportDefinition report) { // Simply call the relevent function in the tab view to do the work ReportsTabView tabView = WorkItem.TabView as ReportsTabView; tabView.RunCustomReport((AuditedDataReportDefinition)report); }
public static void ChangDataSourceInRentime(ReportDefinition rdl, string dataSourceType) { //need to centralize all DataSource in one Report source,so report source dynamically change report datasource on the fly for (int i = 0; i < rdl.Report.DataSources.Count; i++) { if (dataSourceType == EmReportDataSourceType.DWDatabase.ToString()) { rdl.Report.DataSources[i].DataSourceReference = null; rdl.Report.DataSources[i].ConnectionProperties.ConnectString = DDSetup.DWDataSourceConnectionString; rdl.Report.DataSources[i].ConnectionProperties.DataProvider = "SQL"; } else { rdl.Report.DataSources[i].DataSourceReference = null; rdl.Report.DataSources[i].ConnectionProperties.ConnectString = DDSetup.PLMConnectionString; rdl.Report.DataSources[i].ConnectionProperties.DataProvider = "SQL"; } } //rdl.Report. rdl.ResourceLocator = new DataDynamicsCustomResourceLocator(rdl.ResourceLocator, dataSourceType); }
/// <summary> /// Runs the code example. /// </summary> /// <param name="user">The AdWords user.</param> /// <param name="fileName">The file to which the report is downloaded. /// </param> public void Run(AdWordsUser user, string fileName) { ReportDefinition definition = new ReportDefinition() { reportName = "Last 7 days CRITERIA_PERFORMANCE_REPORT", reportType = ReportDefinitionReportType.CRITERIA_PERFORMANCE_REPORT, downloadFormat = DownloadFormat.GZIPPED_CSV, dateRangeType = ReportDefinitionDateRangeType.LAST_7_DAYS, selector = new Selector() { fields = new string[] { "CampaignId", "AdGroupId", "Id", "CriteriaType", "Criteria", "FinalUrls", "Clicks", "Impressions", "Cost" }, predicates = new Predicate[] { Predicate.In("Status", new string[] { "ENABLED", "PAUSED" }) } }, // Optional: Include zero impression rows. includeZeroImpressions = true }; string filePath = ExampleUtilities.GetHomeDir() + Path.DirectorySeparatorChar + fileName; try { ReportUtilities utilities = new ReportUtilities(user, "v201506", definition); using (ReportResponse response = utilities.GetResponse()) { response.Save(filePath); } Console.WriteLine("Report was downloaded to '{0}'.", filePath); } catch (Exception e) { throw new System.ApplicationException("Failed to download report.", e); } }
private void LoadKeywordPerformanceReport() { var definition = new ReportDefinition() { reportName = "Custom Date KEYWORDS_PERFORMANCE_REPORT", reportType = ReportDefinitionReportType.KEYWORDS_PERFORMANCE_REPORT, selector = new Selector() { fields = new string[] { "CampaignId", "AdGroupId", "Id", // keyword id "Status", // keyword status "Criteria", // keyword text "KeywordMatchType", "Impressions", "AveragePosition", "Clicks", "Cost", "AdNetworkType1", // create partitioning by search/display networks } } }; DownloadAndLoadReport <XmlKeywordPerformanceReader>(definition); }
private void Aggregate(object currentHttpContext) { HttpContext httpContext = FakeHttpContext( new Dictionary <string, object>(), ((HttpContext)currentHttpContext).Request.Url.ToString() ); this.Sessions.Add(httpContext.Session); ReportDefinition reportDefinition = new ReportDefinition( this.Core, this.ReportDefinitionFileName, new Crosstables.Classes.HierarchyClasses.HierarchyFilter(null) ); ReportCalculator calculator = new ReportCalculator( reportDefinition, this.Core, httpContext.Session ); //try //{ calculator.Aggregate("1.0.0.0", false); /*} * catch { * httpContext.Session["DataAggregationProgress"] = 100; * }*/ }
public static void Run() { var query = TestRepository.GetAllPerson(); var reportDataSource = query.ToReportDataSource("Persons"); var reportDefinition = ReportDefinition.FromJson( EmbeddedResource.GetResourceTextFile("Sample3ReportDefinition.json")); var report = SimpleExporter.CreateReport(reportDefinition, reportDataSource); report.SetTextBlock("titleId", "Titulo de Prueba"); report.SetTextBlock("subtitleId", "Subtitulo"); var table = (Table)reportDefinition.Body[2]; table.Columns = GetColumns(query); //CSV using (var fs = File.Create("Sample3.csv")) { var writer = new DelimitedTextReportWriter(); report.WriteReport(fs, writer); Console.WriteLine("(CSV) Sample 3 created: {0}", fs.Name); } //Xlsx using (var fs = File.Create("Sample3.xlsx")) { var writer = new XlsxReportWriter(); report.WriteReport(fs, writer); Console.WriteLine("(Xlsx) Sample 3 created: {0}", fs.Name); } }
/// <summary> /// Gets the section type for a report component /// </summary> /// <param name="definition">The report definition</param> /// <param name="componentName">The component name</param> /// <returns>The section type</returns> private ReportSectionType GetSectionType ( ReportDefinition definition, string componentName ) { var allSectionTypes = Enum.GetValues ( typeof(ReportSectionType) ); foreach (ReportSectionType sectionType in allSectionTypes) { var component = definition.FindComponent ( sectionType, componentName ); if (component != null) { return(sectionType); } } return(ReportSectionType.ReportBody); }
/// <summary> /// Cast parameters /// </summary> private IDictionary <string, object> CastParameters(ReportDefinition report, IDictionary <string, object> parameters) { var retVal = new Dictionary <String, Object>(); // Cast parms foreach (var kv in parameters) { try { var rparm = report.Parameters.FirstOrDefault(o => o.Name == kv.Key); if (rparm == null) { retVal.Add(kv.Key, kv.Value); } else if (kv.Value != null) { switch (rparm.Type) { case ReportPropertyType.ByteArray: retVal[rparm.Name] = kv.Value; break; case ReportPropertyType.Date: if (rparm.Ceil) { retVal[rparm.Name] = DateTime.Parse(kv.Value.ToString().Substring(0, 10) + "T23:59:59"); } else { retVal[rparm.Name] = DateTime.Parse(kv.Value.ToString().Substring(0, 10)); } break; case ReportPropertyType.DateTime: retVal[rparm.Name] = DateTime.Parse(kv.Value.ToString()); break; case ReportPropertyType.Decimal: retVal[rparm.Name] = Decimal.Parse(kv.Value.ToString()); break; case ReportPropertyType.Integer: retVal[rparm.Name] = Int32.Parse(kv.Value.ToString()); break; case ReportPropertyType.String: retVal[rparm.Name] = kv.Value?.ToString(); break; case ReportPropertyType.Uuid: retVal[rparm.Name] = Guid.Parse(kv.Value.ToString()); break; } } } catch { } } return(retVal); }
protected void lnkLeftPanelSectionNew_Click(object sender, EventArgs e) { // Get the full path of the current session's report definition file. string fileName = HttpContext.Current.Session["ReportDefinition"].ToString(); // Create a new report definition by the file. ReportDefinition reportDefinition = new ReportDefinition( Global.Core, fileName, Global.HierarchyFilters[fileName] ); // Clear the report definition. reportDefinition.Clear(); // Clear the data check entries. DataCheck dataCheck = new DataCheck(fileName); dataCheck.Clear(); // Self redirect to display clear crosstable. Response.Redirect( Request.Url.ToString() ); }
public static void Run() { var query = TestRepository.GetAllProducts(); var reportDataSource = query.ToReportDataSource("Products"); var reportDefinition = ReportDefinition.FromJson( EmbeddedResource.GetResourceTextFile("Sample2ReportDefinition.json")); var report = SimpleExporter.CreateReport(reportDefinition, reportDataSource); report.SetTextBlock("titleId", "Titulo de Prueba"); report.SetTextBlock("subtitleId", "Other text for the sample"); //CSV using (var fs = File.Create("Sample2.csv")) { var writer = new DelimitedTextReportWriter(); report.WriteReport(fs, writer); Console.WriteLine("(CSV) Sample 2 created: {0}", fs.Name); } //Xlsx using (var fs = File.Create("Sample2.xlsx")) { var writer = new XlsxReportWriter(); report.WriteReport(fs, writer); Console.WriteLine("(Xlsx) Sample 2 created: {0}", fs.Name); } }
public static void Run() { var query = TestRepository.GetAllProducts(); var reportDataSource = query.ToReportDataSource("Products"); var reportDefinition = ReportDefinition.FromJson( EmbeddedResource.GetResourceTextFile("Sample1ReportDefinition.json")); var report = SimpleExporter.CreateReport(reportDefinition, reportDataSource); //CSV using (var fs = File.Create("Sample1.csv")) { var writer = new DelimitedTextReportWriter(); report.WriteReport(fs, writer); Console.WriteLine("(CSV) Sample 1 created: {0}", fs.Name); } //Xlsx using (var fs = File.Create("Sample1.xlsx")) { var writer = new XlsxReportWriter(); report.WriteReport(fs, writer); Console.WriteLine("(Xlsx) Sample 1 created: {0}", fs.Name); } //PDF using (var fs = File.Create("Sample1.pdf")) { var writer = new PdfReportWriter(); report.WriteReport(fs, writer); Console.WriteLine("(PDF) Sample 1 created: {0}", fs.Name); } }
public void Definition_Save_and_create_Updates_Columns() { // arrange var timeStamp = DateTime.UtcNow.ToString("MM-dd-yy-HH:mm tt"); var fakeReport = new ReportDefinition() { name = $"fakeReportName-{timeStamp}", commonName = $"Fake Report Name {timeStamp}", sqlquery = "select * from ReportDefinitions", inputsJson = "{\"beginDate\":false,\"endDate\":false,\"memberNumber\":false}" }; var expectedCreatedColumns = "[{\"field\":\"ID\",\"header\":\"ID\",\"visible\":true},{\"field\":\"name\",\"header\":\"name\",\"visible\":true},{\"field\":\"commonName\",\"header\":\"commonName\",\"visible\":true},{\"field\":\"title\",\"header\":\"title\",\"visible\":true},{\"field\":\"description\",\"header\":\"description\",\"visible\":true},{\"field\":\"sqlquery\",\"header\":\"sqlquery\",\"visible\":true},{\"field\":\"category\",\"header\":\"category\",\"visible\":true},{\"field\":\"subcategory\",\"header\":\"subcategory\",\"visible\":true},{\"field\":\"inputsJson\",\"header\":\"inputsJson\",\"visible\":true},{\"field\":\"columnsJson\",\"header\":\"columnsJson\",\"visible\":true},{\"field\":\"datecreated\",\"header\":\"datecreated\",\"visible\":true},{\"field\":\"dateupdated\",\"header\":\"dateupdated\",\"visible\":true},{\"field\":\"Createdby\",\"header\":\"Createdby\",\"visible\":true},{\"field\":\"Updatedby\",\"header\":\"Updatedby\",\"visible\":true}]"; // act var createResult = frb.ToServ <IReportsV2Service>().Create(fakeReport, "test"); // assert Assert.AreEqual(createResult.columnsJson, expectedCreatedColumns); createResult.sqlquery = "SELECT name, commonName, description FROM ReportDefinitions"; frb.ToServ <IReportsV2Service>().Save(createResult, "testbot"); var saveResult = frb.ToServ <IReportsV2Service>().Get($"fakeReportName-{timeStamp}"); // assert Assert.AreEqual(saveResult.columnsJson, "[{\"field\":\"name\",\"header\":\"name\",\"visible\":true},{\"field\":\"commonName\",\"header\":\"commonName\",\"visible\":true},{\"field\":\"description\",\"header\":\"description\",\"visible\":true}]"); Assert.AreNotEqual(saveResult.columnsJson, expectedCreatedColumns); // clean up frb.ToServ <IReportsV2Service>().Delete(createResult.ID, "test bot"); }
private void LoadAdGroupPerformanceReport() { var definition = new ReportDefinition() { reportName = "Custom Date ADGROUP_PERFORMANCE_REPORT", reportType = ReportDefinitionReportType.ADGROUP_PERFORMANCE_REPORT, selector = new Selector() { fields = new string[] { "CampaignId", "AdGroupId", "AdGroupName", "AdGroupStatus", "Impressions", "AveragePosition", "Clicks", "Cost", "AdNetworkType1", // create partitioning by search/display networks "Device", // create partitioning by device type (mobile/tablet/desktop) } } }; DownloadAndLoadReport <XmlAdGroupPerformanceReader>(definition); }
public async Task TestGetContentStringAsyncByReportDefinition_PlainCsv_Passed() { var reportUtil = CreateReportUtility(); var rptDef = new ReportDefinition(); rptDef.DateRangeType = ReportDefinitionDateRangeType.AllTime; rptDef.DownloadFormat = DownloadFormat.Csv; rptDef.ReportName = "TestGetContentStringAsyncByReportDefinition"; rptDef.ReportType = ReportDefinitionReportType.CampaignPerformanceReport; rptDef.Selector = new Selector(); rptDef.Selector.Fields = new List <string>(); rptDef.Selector.Fields.AddRange(new string[] { "CampaignId", "CampaignName", "Impressions" }); var reportContent = await reportUtil.GetContentStringAsync(rptDef); var lines = reportContent.Split('\n'); int i = 0; Assert.Equal("TestGetContentStringAsyncByReportDefinition (All Time)", lines[i++]); Assert.Equal("Campaign ID,Campaign,Impressions", lines[i++]); Assert.Equal('0', lines[i++].Last()); Assert.Equal("Total, --,0", lines[i++]); Assert.Equal("", lines[i++]); // there is always an empty line at last }
public static Stream GetDataDynamicPdfStream(string rdlxFileName, int?aUId, string productReferenceId, string PdmRequestRegisterID, string dataSourceType, string mainReferenceID, string masterReferenceID) { string fullpath = DDSetup.ReorptSetup.ReportRootPath + @"\" + rdlxFileName; try { PdfRenderingExtension device = new PdfRenderingExtension(); ReportDefinition def = new ReportDefinition(new FileInfo(fullpath)); ChangDataSourceInRentime(def, dataSourceType); using (ReportRuntime runtime = new ReportRuntime(def)) { SetupReportParamter(runtime, aUId, productReferenceId, PdmRequestRegisterID, mainReferenceID, masterReferenceID); // FileStreamProvider aFileStreamProvider= new FileStreamProvider(new DirectoryInfo(@".\"), exportFieName); DataDynamics.Reports.Rendering.IO.MemoryStreamProvider memoryStreamProvider = new MemoryStreamProvider(); runtime.Render(device, memoryStreamProvider); var pInfo = memoryStreamProvider.GetPrimaryStream(); return(pInfo.OpenStream()); } // ReportRuntime runtime = new ReportRuntime(rdl); } catch (Exception ex) { string exStrt = ex.ToString(); return(null); } }
/// <summary> /// Handles the Click event of the btnDownloadReport control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing /// the event data.</param> protected void OnDownloadReportButtonClick(object sender, EventArgs e) { ConfigureUserForOAuth(); ReportDefinition definition = new ReportDefinition(); definition.reportName = "Last 7 days CRITERIA_PERFORMANCE_REPORT"; definition.reportType = ReportDefinitionReportType.CRITERIA_PERFORMANCE_REPORT; definition.downloadFormat = DownloadFormat.GZIPPED_CSV; definition.dateRangeType = ReportDefinitionDateRangeType.LAST_7_DAYS; // Create selector. Selector selector = new Selector(); selector.fields = new string[] { "CampaignId", "AdGroupId", "Id", "CriteriaType", "Criteria", "CriteriaDestinationUrl", "Clicks", "Impressions", "Cost" }; Predicate predicate = new Predicate(); predicate.field = "Status"; predicate.@operator = PredicateOperator.IN; predicate.values = new string[] { "ACTIVE", "PAUSED" }; selector.predicates = new Predicate[] { predicate }; definition.selector = selector; definition.includeZeroImpressions = true; string filePath = Path.GetTempFileName(); try { // If you know that your report is small enough to fit in memory, then // you can instead use // ReportUtilities utilities = new ReportUtilities(user); // utilities.ReportVersion = "v201309"; // ClientReport report = utilities.GetClientReport(definition); // // // Get the text report directly if you requested a text format // // (e.g. xml) // string reportText = report.Text; // // // Get the binary report if you requested a binary format // // (e.g. gzip) // byte[] reportBytes = report.Contents; // // // Deflate a zipped binary report for further processing. // string deflatedReportText = Encoding.UTF8.GetString( // MediaUtilities.DeflateGZipData(report.Contents)); // Set the customer id. (user.Config as AdWordsAppConfig).ClientCustomerId = txtCustomerId.Text; ReportUtilities utilities = new ReportUtilities(user); utilities.ReportVersion = "v201309"; utilities.DownloadClientReport(definition, filePath); } catch (Exception ex) { throw new System.ApplicationException("Failed to download report.", ex); } Response.AddHeader("content-disposition", "attachment;filename=report.gzip"); Response.WriteFile(filePath); Response.End(); }
public ReportForm(Api api, string directory, string fileName, ReportDefinition report) { if (api == null) { throw new ArgumentNullException(nameof(api)); } if (directory == null) { throw new ArgumentNullException(nameof(directory)); } if (report == null) { throw new ArgumentNullException(nameof(report)); } _api = api; _directory = directory; _fileName = fileName; _entity = report.Entity; _filters = report.Filters; InitializeComponent(); if (fileName != null) { Text += " - " + fileName; } _gridManager = new ReportGridManager(_grid); foreach (ToolStripMenuItem menuItem in _aggregateMenuItem.DropDownItems) { menuItem.Tag = Enum.Parse(typeof(ReportFieldTransform), (string)menuItem.Tag); } VisualStyleUtil.StyleTreeView(_fields); BuildFields(_fields.Nodes, _entity); foreach (var field in report.Fields) { switch (field.Type) { case ReportFieldType.Column: _columns.Items.Add(field); break; case ReportFieldType.Row: _rows.Items.Add(field); break; case ReportFieldType.Value: _values.Items.Add(field); break; } } UpdateEnabled(); }
/// <summary> /// Handles the Click event of the btnDownloadReport control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="eventArgs">The <see cref="System.EventArgs"/> instance containing /// the event data.</param> protected void OnDownloadReportButtonClick(object sender, EventArgs eventArgs) { ConfigureUserForOAuth(); ReportDefinition definition = new ReportDefinition() { reportName = "Last 7 days CRITERIA_PERFORMANCE_REPORT", reportType = ReportDefinitionReportType.CRITERIA_PERFORMANCE_REPORT, downloadFormat = DownloadFormat.GZIPPED_CSV, dateRangeType = ReportDefinitionDateRangeType.LAST_7_DAYS, selector = new Selector() { fields = new string[] { "CampaignId", "AdGroupId", "Id", "CriteriaType", "Criteria", "FinalUrls", "Clicks", "Impressions", "Cost" }, predicates = new Predicate[] { Predicate.In("Status", new string[] { "ACTIVE", "PAUSED" }) } } }; // Optional: Include zero impression rows. AdWordsAppConfig config = (AdWordsAppConfig)user.Config; config.IncludeZeroImpressions = true; string filePath = Path.GetTempFileName(); try { ReportUtilities utilities = new ReportUtilities(user, "v201601", definition); using (ReportResponse response = utilities.GetResponse()) { response.Save(filePath); } } catch (Exception e) { throw new System.ApplicationException("Failed to download report.", e); } Response.AddHeader("content-disposition", "attachment;filename=report.gzip"); Response.WriteFile(filePath); Response.End(); }
public static SimpleExporter CreateReport(ReportDefinition reportDefinition, DataSource reportDataSource) { return(new SimpleExporter { ReportDefinition = reportDefinition, ReportDataSource = reportDataSource }); }
/// <summary> /// Create new root report execution context /// </summary> public ReportExecutionContext(ReportDefinition report, IDictionary <String, Object> arguments, Object scope, IEnumerable dataset) { this.ParentScope = default(ReportExecutionContext); this.Report = report; this.Scope = scope; this.Dataset = dataset; this.Arguments = arguments; }
public async Task LoadStateFromFile(string fileName) { _fileName = fileName; _state = SetupHelpers.ReadReportDefinition(fileName); await ReloadOptions(); }
public static void ProcessReportDefinition(ReportDefinition rd, XmlWriter xmlw) { xmlw.WriteStartElement("ReportDefinition"); xmlw.WriteAttributeString("ReportKind", rd.ReportKind.ToStringSafe()); xmlw.WriteAttributeString("RptrReportFlag", rd.RptrReportFlag.ToStringSafe()); ProcessAreas(rd.Areas, xmlw); xmlw.WriteEndElement(); }
public CategorySelector(ReportDefinition reportDefinition, string fileName) : base("div") { this.FileName = fileName.Replace("\\", "/"); this.ReportDefinition = reportDefinition; this.Load += CategorySelector_Load; this.PreRender += CategorySelector_PreRender; }
/// <summary> /// Set report column header. /// </summary> /// <param name="reportData">The report data.</param> /// <param name="reportDefinition">The report definition.</param> internal void SetReportColumnHeader(DataTable reportData, ReportDefinition reportDefinition) { ExcludeColumns(reportData, reportDefinition); foreach (ReportDefinitionReportDataReportColumnsColumn reportDefinitionReportDataColumn in reportDefinition.ReportData.ReportColumns.Column) { reportData.ModifyColumn(reportDefinitionReportDataColumn.DataField, reportDefinitionReportDataColumn.TitleField, reportDefinitionReportDataColumn.Order); } }
protected void lnkLeftPanelSectionExport_Click(object sender, EventArgs e) { // Get the full path of the current session's report definition file. string fileName = HttpContext.Current.Session["ReportDefinition"].ToString(); // Create a new report definition by the file. ReportDefinition reportDefinition = new ReportDefinition( Global.Core, fileName, Global.HierarchyFilters[fileName] ); DisplayType displayType = reportDefinition.Settings.DisplayType; reportDefinition.Settings.DisplayType = DisplayType.Crosstable; reportDefinition.Save(); Crosstables.Classes.Crosstable crosstable = new Crosstables.Classes.Crosstable( Global.Core, fileName ); crosstable.IsExport = true; //crosstable.AsynchRender = true; crosstable.Render(); ColorSchemeStylesheet colorScheme = new ColorSchemeStylesheet(); colorScheme.Render(); StringBuilder style = new StringBuilder(); style.Append("<style type=\"text/css\">"); style.Append(colorScheme.InnerHtml.Split(new string[] { "##### Scroll bar styles #####" }, StringSplitOptions.None)[0]); style.Append(File.ReadAllText(Path.Combine( Request.PhysicalApplicationPath, "Stylesheets", "Modules", "Crosstables.css" ))); style.Append("</style>"); Crosstables.Classes.Exporter exporter = new Crosstables.Classes.Exporter( crosstable.Table, style.ToString(), reportDefinition ); reportDefinition.Settings.DisplayType = displayType; reportDefinition.Save(); string fName = exporter.Export(); base.WriteFileToResponse(fName, "Export.xlsx", "application/msexcel", true); }
/// <summary> /// 定义是否存在 /// </summary> /// <param name="definition"></param> /// <returns>bool 是否存在</returns> public static bool existed(ReportDefinition definition) { using (var context = new Entities()) { return(context.definitions.Any(i => i.id != definition.id && i.tenantId == definition.tenantId && i.categoryId == definition.categoryId && i.name == definition.name)); } }
public void A_report_definition() { _definition = ReportDefinition.New<Report>(cfg => { //could be auto mapped cfg.Column(r => r.Name, o=>o.SetDisplayName("Full Name")); cfg.Column(r => r.Amount); }); }
public static void ProcessReportDefinition(ReportDefinition rd, Utf8JsonWriter jsonw) { jsonw.WritePropertyName("ReportDefinition"); jsonw.WriteStartObject(); jsonw.WriteString("ReportKind", rd.ReportKind.ToStringSafe()); jsonw.WriteString("RptrReportFlag", rd.RptrReportFlag.ToStringSafe()); ProcessAreas(rd.Areas, jsonw); jsonw.WriteEndObject(); }
private void GetAreas(ReportDefinition reportDefinition, XmlWriter writer) { WriteAndTraceStartElement(writer, "Areas"); foreach (Area area in reportDefinition.Areas) { WriteAndTraceStartElement(writer, "Area"); writer.WriteAttributeString("Kind", area.Kind.ToString()); writer.WriteAttributeString("Name", area.Name); if ((ShowFormatTypes & FormatTypes.AreaFormat) == FormatTypes.AreaFormat) GetAreaFormat(area.AreaFormat, writer); GetSections(area, writer); writer.WriteEndElement(); } writer.WriteEndElement(); }