我正在开发一个产品应用程序。它是使用devexpress控件的Windows窗体应用程序。此应用程序是计费应用程序。
我的客户想要设计自定义发票格式。如果我在visual studio项目中添加报告,那么我必须将所有报告部署到所有客户端。我想部署专门为客户开发的报告。 为此,我想要一种可以将Xtrareport保存为文件或数据库的方法。这样我就可以动态地在运行时加载它。
有没有这样做?
环境: C#4.5 WinForms DevExpress 14.2.4.0
答案 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