如何在数据库或文件中保存 devexpress xtra 报告并从数据库或文件中加载它

how to save devexpress xtra report in database or file and load it from database or file

我正在开发产品应用程序。它是 windows 使用 devexpress 控件的表单应用程序。此应用程序是一个计费应用程序。

我的客户想要设计自定义发票格式。如果我在我的 visual studio 项目中添加报告,那么我必须将所有报告部署到所有客户端。我想部署专门为客户开发的报告。 为此,我想要一种可以将 Xtrareport 保存为文件或数据库的方法。这样我就可以在运行时动态加载它。

有没有办法做到这一点?

环境: C# 4.5 窗体 DevExpress 14.2.4.0

是的,您可以将报告保存到文件或数据库中 使用 System.IO; 使用 DevExpress.XtraReports.UI; // ...

// Save a report to a file. 
private string StoreReportToFile(XtraReport report){
    string path = "C:\MyReport.repx";
    report.SaveLayout(path);
    return path;
}

// Save a report to a stream. 
private MemoryStream StoreReportToStream(XtraReport report){
    MemoryStream stream = new MemoryStream();
    report.SaveLayout(stream);
    return stream;
}

并加载它

using System.IO;
using DevExpress.XtraReports.UI;
// ... 

// Load a report from a file. 
private void LoadReportFromFile(XtraReport report, string filePath){
    if (File.Exists(filePath)) {
        report.LoadLayout(filePath);
    } 
    else {
        Console.WriteLine("The source file does not exist.");
    }
}

// Load a report from a stream. 
private void LoadReportFromStream(XtraReport report, MemoryStream stream){
    report.LoadLayout(stream);
}

// Create a report from a file. 
private XtraReport CreateReportFromFile(string filePath){
    XtraReport report = XtraReport.FromFile(filePath, true);
    return report;
}

// Create a report from a stream. 
private XtraReport CreateReportFromStream(MemoryStream stream){
    XtraReport report = XtraReport.FromStream(stream, true);
    return report;
}

您可以在此处找到更多信息:https://documentation.devexpress.com/#XtraReports/CustomDocument2592