Back to Devexpress

XtraReportBase.Bands Property

xtrareports-devexpress-dot-xtrareports-dot-ui-dot-xtrareportbase-87cb850c.md

latest7.9 KB
Original Source

XtraReportBase.Bands Property

Gets the collection of bands contained in a report.

Namespace : DevExpress.XtraReports.UI

Assembly : DevExpress.XtraReports.v25.2.dll

NuGet Package : DevExpress.Reporting.Core

Declaration

csharp
[SRCategory(ReportStringId.CatStructure)]
public BandCollection Bands { get; }
vb
<SRCategory(ReportStringId.CatStructure)>
Public ReadOnly Property Bands As BandCollection

Property Value

TypeDescription
BandCollection

A BandCollection object that is the collection of bands contained in a report.

|

Remarks

To learn more about the bands used in reports see the Introduction to Banded Reports topic.

Example

The following example demonstrates how to use the BandCollection class methods to construct a simple report. The AddMarginBands method creates two margin bands and adds them to the collection.

csharp
using DevExpress.XtraPrinting;
using DevExpress.XtraReports.UI;
// ...

public class XtraReport1 : DevExpress.XtraReports.UI.XtraReport {
// ...

    // ...
    // Generated code for the XtraReport1 class.
    // ...

    public void AddMarginBands() {

        // Check if the TopMargin band is already present in the report.
        if(Bands[BandKind.TopMargin] == null) {
            // Create a new TopMargin band and add it to the report.
            TopMarginBand tmBand = new TopMarginBand();
            Bands.Add(tmBand);

            // Create a label and set its text and width.
            XRLabel label = new XRLabel();
            label.Text = "TopMargin Band";
            label.Width = 200;

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

        // Check if the BottomMargin band is already present in the report.
        if(Bands[BandKind.BottomMargin] == null) {
            // Create a new BottomMargin band and add it to the report.
            BottomMarginBand bmBand = new BottomMarginBand();
            Bands.Add(bmBand);

            // Create an XRPageInfo object and set its width and PageInfo option.
            XRPageInfo datePageInfo = new XRPageInfo();
            datePageInfo.Width = 200;
            datePageInfo.PageInfo = PageInfo.DateTime;

            // Add the page information control to the BottomMargin band.
            bmBand.Controls.Add(datePageInfo);
        }
    }

}
vb
Imports DevExpress.XtraPrinting
Imports DevExpress.XtraReports.UI
' ...

Public Class XtraReport1
    Inherits DevExpress.XtraReports.UI.XtraReport
    ' ...

    ' ...
    ' Generated code for the XtraReport1 class.
    ' ...

    Public Sub AddMarginBands()

        ' Check if the TopMargin band is already present in the report.
        If Bands.GetBandByType(GetType(TopMarginBand)) Is Nothing Then
            ' Create a new TopMargin band and add it to the report.
            Dim tmBand As New TopMarginBand()
            Bands.Add(tmBand)

            ' Create a label and set its text and width.
            Dim label As New XRLabel()
            label.Text = "TopMargin Band"
            label.Width = 200

            ' Add the label to the TopMargin band.
            tmBand.Controls.Add(label)
        End If

        ' Check if the BottomMargin band is already present in the report.
        If Bands.GetBandByType(GetType(BottomMarginBand)) Is Nothing Then
            ' Create a new BottomMargin band and add it to the report.
            Dim bmBand As New BottomMarginBand()
            Bands.Add(bmBand)

            ' Create an XRPageInfo object and set its width and PageInfo option.
            Dim datePageInfo As New XRPageInfo()
            datePageInfo.Width = 200
            datePageInfo.PageInfo = PageInfo.DateTime

            ' Add the page information control to the BottomMargin band.
            bmBand.Controls.Add(datePageInfo)
        End If
    End Sub

End Class

The following code handles button clicks to call the AddMarginBands method and show the preview:

csharp
XtraReport1 report = new XtraReport1();

private void btnPreview_Click(object sender, System.EventArgs e) {
    ReportPrintTool preview = new ReportPrintTool(report);
    preview.ShowPreview();
}

private void btnAddBands_Click(object sender, System.EventArgs e) {
    report.AddMarginBands();
}
vb
Dim Report As New XtraReport1()

Private Sub BtnPreview_Click(sender As Object, e As System.EventArgs) _
Handles BtnPreview.Click
    Dim preview As New ReportPrintTool(report)
    preview.ShowPreview()
End Sub

Private Sub BtnAddBands_Click(sender As Object, e As System.EventArgs) _
Handles BtnAddBands.Click
    Report.AddMarginBands()
End Sub

The following code snippets (auto-collected from DevExpress Examples) contain references to the Bands property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

reporting-winforms-create-hierarchical-report-from-flat-table/CS/TreeViewReport/ChildReport.cs#L29

csharp
subreport.WidthF = report.PageWidth;
foreach(Band band in report.Bands)
    foreach(XRControl control in band.Controls) {

winforms-dashboard-add-custom-information-to-the-exported-dashboard/CS/WinViewer_CustomExport/Form1.cs#L13

csharp
var report = e.Report as XtraReport;
var topMarginBand = report.Bands[BandKind.TopMargin];

reporting-winforms-create-hierarchical-report-from-flat-table/VB/TreeViewReport/ChildReport.vb#L30

vb
subreport.WidthF = report.PageWidth
For Each band As Band In report.Bands
    For Each control As XRControl In band.Controls

winforms-dashboard-add-custom-information-to-the-exported-dashboard/VB/WinViewer_CustomExport/Form1.vb#L12

vb
Dim report = TryCast(e.Report, XtraReport)
Dim topMarginBand = report.Bands(BandKind.TopMargin)

See Also

Introduction to Banded Reports

XtraReportBase Class

XtraReportBase Members

DevExpress.XtraReports.UI Namespace