Back to Devexpress

BandCollection.GetBandByType(Type) Method

xtrareports-devexpress-dot-xtrareports-dot-ui-dot-bandcollection-dot-getbandbytype-x28-system-dot-type-x29.md

latest7.0 KB
Original Source

BandCollection.GetBandByType(Type) Method

Returns a Band object if an object of the specified type is contained in the collection.

Namespace : DevExpress.XtraReports.UI

Assembly : DevExpress.XtraReports.v25.2.dll

NuGet Package : DevExpress.Reporting.Core

Declaration

csharp
public Band GetBandByType(
    Type type
)
vb
Public Function GetBandByType(
    type As Type
) As Band

Parameters

NameTypeDescription
typeType

A Type object representing the type of band to locate.

|

Returns

TypeDescription
Band

A Band descendant representing the band found. Returns null ( Nothing in Visual Basic) if there isn’t any band of the specified type in the collection.

|

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 snippet (auto-collected from DevExpress Examples) contains a reference to the GetBandByType(Type) method.

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-table-at-runtime/CS/Form1.cs#L50

csharp
DetailBand detailBand = report.Bands.GetBandByType(typeof(DetailBand)) as DetailBand;
PageHeaderBand pageHeaderBand =

reporting-winforms-create-table-at-runtime/VB/Form1.vb#L42

vb
Dim detailBand As DetailBand = TryCast(report.Bands.GetBandByType(GetType(DetailBand)), DetailBand)
Dim pageHeaderBand As PageHeaderBand = TryCast(report.Bands.GetBandByType(GetType(PageHeaderBand)), PageHeaderBand)

See Also

BandCollection Class

BandCollection Members

DevExpress.XtraReports.UI Namespace