XtraReportドキュメントを表示するときに、フォームビューアにタイトルを設定する方法を知っている人はいますか?シナリオは次のとおりです。
XtraReportレポートを構成し、ShowPreviewDialogメソッドを呼び出して表示すると、ビューアフォームが開き、ドキュメントが表示されます。このビューアフォームにタイトルを設定する必要がありますが、これを実現するためのプロパティまたは方法が見つかりません。
前もって感謝します。
XtraReportドキュメントを表示するときに、フォームビューアにタイトルを設定する方法を知っている人はいますか?シナリオは次のとおりです。
XtraReportレポートを構成し、ShowPreviewDialogメソッドを呼び出して表示すると、ビューアフォームが開き、ドキュメントが表示されます。このビューアフォームにタイトルを設定する必要がありますが、これを実現するためのプロパティまたは方法が見つかりません。
前もって感謝します。
編集:どうやら、CreateDocumentを呼び出さないと、機能する場合と機能しない場合があります。だからそれがそこにあることを確認してください(私の最初の投稿ではありませんでした)。
カイルの答えは正しくないと思います。フォームにアクセスできるようですが、直感的ではありません。ピエールが指摘したように、独自のフォームを作成する正当な理由がありますが、デフォルトで見つけてタイトルをカスタマイズしたい場合は、次のことを試してください。
using(var rpt = new XtraReport1())
{
rpt.PrintingSystem.PrintPreviewFormEx.Text = "My Custom Caption";
rpt.CreateDocument();
rpt.ShowPreviewDialog();
}
私たちのプロジェクトでは、常に(または)ReportViewer
を表示することを目的としたフォームを作成することになります。XtraReport
PrintingSystem
ビューアは、PrintRibbonControllerをドロップする通常のXtraFormで構成されています。これにより、リボンバーと印刷コントロールが自動的に作成されます。
次に、レポートをビューアにバインドするメソッドを使用します。
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();
独自のビューアを作成するこのアプローチは、次のことに役立ちます。
XtraReportオブジェクトで使用されるプレビューフォームが、タイトルを設定するだけの方法で公開されているとは思いません。ただし、独自のプレビューフォームを作成することは可能です。これにより、プレビューの表示方法を最終的に制御できます。残念ながら、このアプローチを使用するには、プレビューを別の方法で呼び出す必要があります。myReport.ShowPreviewDialog()を呼び出さなくなります。この例では、レポートは、フォームのloadイベントで作成されるプレビューフォームのプライベートメンバーです。ただし、既存のレポートオブジェクトへの参照をフォームに渡してからロードするので、1つの印刷プレビューフォームを再利用できます。
あなたを助けるかもしれないdevexpressサポートに関する記事があると思います-レポートプレビューウィンドウのタイトルバーのキャプションを変更できません
その要点:
XtraReport1 rep = new XtraReport1();
rep.CreateDocument();
PrintPreviewFormEx form = new PrintPreviewFormEx();
form.Text = "test";
form.PrintingSystem = rep.PrintingSystem;
form.Show();
ReportPrintToolクラスを使用して、問題を修正できます。
var report = new MyXtraReport();
ReportPrintTool reportPrintTool = new ReportPrintTool(report);
reportPrintTool.PreviewForm.Text = "Some Text"
report.ShowPreviewDialog();
ピエールの答えは非常に役に立ちました。独自のカスタムレポートビューアを使用すると、アクセスなどの管理に役立ちます。私はこのコードを追加しました:
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;
再度、感謝します。