0

XtraReport テンプレート クラスを作成して、レポート オブジェクトを取得し、会社のデザインに変換したいと考えています。最初に、ロゴの XRPictureBox を取得する ReportHeaderBand を作成します。XRPictureBox を ReportHeaderBand の右側に配置するにはどうすればよいですか?

これは私がこれまで行っていることです:

internal class Kopfbereich: ReportHeaderBand
    {
        /// <summary>
        /// Erstellt ein Objekt für den Kopfbereich eines Reports
        /// </summary>
        public Kopfbereich()
        {
            DruckeLogo();
        }

        private void DruckeLogo()
        {
            XRPictureBox picBox = new XRPictureBox();
            picBox.Visible = true;
            picBox.Sizing = ImageSizeMode.AutoSize;
            picBox.Image = Resources.Brillux_Logo_Reports_ohne_Text;
            this.Controls.Add(picBox);
        }
    }

    //This Method is from other class and should print my report with template
    public XtraReport DruckeMitVorlage(XtraReport report)
    {
        Kopfbereich kopfbereich = new Kopfbereich();
        report.Bands.Add(kopfbereich);
        return report;
    }

実行時に作成して、動的なテンプレートを取得したいと考えています。したがって、デザイナーはオプションではありません。

次のコード行を試して、右側に XRPictureBox を設定しました。

picBox.LocationF = new PointF(Report.PageWidth - picBox.WidthF - Report.Margins.Right.Width, 0);

ただし、次のページでロゴが半分表示されます。

4

1 に答える 1

0

XRPictureBoxこのコントロールを ではreport header bandなくに追加することをお勧めしますthis.Controls。別のページに印刷するのではなく、レポートの上部に印刷するように画像編集を制御する場合があります。

コード スニペットを確認してください。

// Check if the TopMargin band is already present in the report. 
if(Bands.GetBandByType(typeof(ReportHeaderBand)) == null) {
    // Create a new TopMargin band and add it to the report. 
    ReportHeaderBandtmBand = new ReportHeaderBand();
    Bands.Add(tmBand);

    // Create a picture object
    XRPictureBox picBox = new XRPictureBox();
    picBox.Visible = true;
    picBox.Sizing = DevExpress.XtraPrinting.ImageSizeMode.AutoSize;
    picBox.Image = Resources.Logo;
    this.Controls.Add(picBox);

    // Add the label to the ReportHeaderBand band. 
    tmBand.Controls.Add(picBox);
}

以下のように、レポート オブジェクトを使用してコントロールを配置できます。

 // Place the chart onto a report footer
  rep.Bands[BandKind.ReportHeader].Controls.Add(picBox);

参考:
WinForms アプリケーションでレポートを動的に作成する方法

于 2013-10-15T12:17:31.633 に答える