在显示XtraReport文档时,有人知道如何设置表单查看器的标题吗? 方案如下:
我配置了一个XtraReport报告,我展示它调用ShowPreviewDialog方法,打开一个查看器表单并显示该文档。我需要将标题设置为此查看器表单,但无法找到完成此操作的属性或方法。
提前致谢。
答案 0 :(得分:5)
编辑:显然,如果您不调用CreateDocument,它有时会显示有效,有时则不然。所以确保它在那里(我在第一篇文章中遗漏了它)。
我相信凯尔的答案是不正确的。看来您可以访问表单,这只是不直观。正如皮埃尔指出的那样,创建自己的表单是有正当理由的,但是如果您找到默认表单并且只想自定义标题,那么请尝试:
using(var rpt = new XtraReport1())
{
rpt.PrintingSystem.PrintPreviewFormEx.Text = "My Custom Caption";
rpt.CreateDocument();
rpt.ShowPreviewDialog();
}
答案 1 :(得分:2)
我不相信XtraReport对象使用的预览表单是以简单设置标题的方式公开的。但是,可以create your own preview form。这样可以让您最终控制预览的显示方式。不幸的是,使用该方法需要您以不同方式调用预览。您将不再调用myReport.ShowPreviewDialog()。在该示例中,报表是在窗体的load事件中创建的预览窗体的私有成员。但是我会在加载之前将对现有报表对象的引用传递给表单,以便您可以重复使用一个打印预览表单。
答案 2 :(得分:2)
在我们的项目中,我们总是最终创建一个ReportViewer
表单,目的是显示XtraReport
(或PrintingSystem
)。
查看器由一个普通的XtraForm组成,我们在其上放置一个PrintRibbonController。这将自动创建功能区栏和打印控件。
然后我们使用一种将报告绑定到查看器的方法:
public partial class ReportViewer : DevExpress.XtraEditors.XtraForm
{
public ReportViewer()
{
InitializeComponent();
}
// Used when displaying a single report
public void SetReport(XtraReport report)
{
this.printControl.PrintingSystem = report.PrintingSystem;
report.CreateDocument();
this.printControl.UpdatePageView();
}
// Used when displaying merged reports
public void SetReport(PrintingSystem system)
{
this.printControl.PrintingSystem = system;
this.printControl.UpdatePageView();
}
}
因此,显示报告的方式如下:
ReportViewer viewer = new ReportViewer();
viewer.SetReport(new EmployeeReport());
viewer.Show();
这种创建自己的查看器的方法可以帮助您:
答案 3 :(得分:2)
我认为有一篇关于devexpress支持的文章可能对你有所帮助 - Unable to change report preview window titlebar caption
它的要点:
XtraReport1 rep = new XtraReport1();
rep.CreateDocument();
PrintPreviewFormEx form = new PrintPreviewFormEx();
form.Text = "test";
form.PrintingSystem = rep.PrintingSystem;
form.Show();
答案 4 :(得分:0)
您可以使用ReportPrintTool课程解决问题:
var report = new MyXtraReport();
ReportPrintTool reportPrintTool = new ReportPrintTool(report);
reportPrintTool.PreviewForm.Text = "Some Text"
report.ShowPreviewDialog();
答案 5 :(得分:0)
我发现Pierre的答案非常有用 - 拥有自己的自定义Report Viewer确实可以帮助您管理访问等。我添加了这段代码:
PrintingSystemCommand[] commands = {PrintingSystemCommand.DocumentMap,
PrintingSystemCommand.Open,
PrintingSystemCommand.Save};
this.printControl1.PrintingSystem.SetCommandVisibility(commands, CommandVisibility.None);
当然,你必须有参考资料:
using DevExpress.XtraEditors;
using DevExpress.XtraReports.UI;
using DevExpress.XtraPrinting;
再次感谢。