2

XtraReportドキュメントを表示するときに、フォームビューアにタイトルを設定する方法を知っている人はいますか?シナリオは次のとおりです。

XtraReportレポートを構成し、ShowPreviewDialogメソッドを呼び出して表示すると、ビューアフォームが開き、ドキュメントが表示されます。このビューアフォームにタイトルを設定する必要がありますが、これを実現するためのプロパティまたは方法が見つかりません。

前もって感謝します。

4

6 に答える 6

5

編集:どうやら、CreateDocumentを呼び出さないと、機能する場合と機能しない場合があります。だからそれがそこにあることを確認してください(私の最初の投稿ではありませんでした)。

カイルの答えは正しくないと思います。フォームにアクセスできるようですが、直感的ではありません。ピエールが指摘したように、独自のフォームを作成する正当な理由がありますが、デフォルトで見つけてタイトルをカスタマイズしたい場合は、次のことを試してください。

using(var rpt = new XtraReport1())
{
   rpt.PrintingSystem.PrintPreviewFormEx.Text = "My Custom Caption";
   rpt.CreateDocument();
   rpt.ShowPreviewDialog();
}
于 2009-09-22T20:36:35.307 に答える
3

私たちのプロジェクトでは、常に(または)ReportViewerを表示することを目的としたフォームを作成することになります。XtraReportPrintingSystem

ビューアは、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();

独自のビューアを作成するこのアプローチは、次のことに役立ちます。

  • ユーザーごとにセキュリティを管理します(例:通常のユーザーは透かしを変更できません)、
  • 要件に合わせてボタンを削除または追加して、リボンを変更します。
于 2009-09-09T21:03:38.017 に答える
2

XtraReportオブジェクトで使用されるプレビューフォームが、タイトルを設定するだけの方法で公開されているとは思いません。ただし、独自のプレビューフォームを作成することは可能です。これにより、プレビューの表示方法を最終的に制御できます。残念ながら、このアプローチを使用するには、プレビューを別の方法で呼び出す必要があります。myReport.ShowPreviewDialog()を呼び出さなくなります。この例では、レポートは、フォームのloadイベントで作成されるプレビューフォームのプライベートメンバーです。ただし、既存のレポートオブジェクトへの参照をフォームに渡してからロードするので、1つの印刷プレビューフォームを再利用できます。

于 2009-09-09T20:50:08.387 に答える
2

あなたを助けるかもしれないdevexpressサポートに関する記事があると思います-レポートプレビューウィンドウのタイトルバーのキャプションを変更できません

その要点:

XtraReport1 rep = new XtraReport1();
            rep.CreateDocument();
            PrintPreviewFormEx form = new PrintPreviewFormEx();
            form.Text = "test";
            form.PrintingSystem = rep.PrintingSystem;
            form.Show(); 
于 2011-09-09T05:02:09.710 に答える
0

ReportPrintToolクラスを使用して、問題を修正できます。

var report = new MyXtraReport();
ReportPrintTool reportPrintTool = new ReportPrintTool(report);
reportPrintTool.PreviewForm.Text = "Some Text"
report.ShowPreviewDialog();    
于 2012-03-13T19:54:30.870 に答える
0

ピエールの答えは非常に役に立ちました。独自のカスタムレポートビューアを使用すると、アクセスなどの管理に役立ちます。私はこのコードを追加しました:

 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;

再度、感謝します。

于 2012-05-21T17:33:47.583 に答える