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

时间:2015-09-15 15:03:58

标签: c# winforms devexpress xtrareport

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

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

有没有这样做?

环境: C#4.5 WinForms DevExpress 14.2.4.0

1 个答案:

答案 0 :(得分:1)

是的,您可以将报告保存到文件或数据库中     使用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