Skip to main content
A newer version of this page is available. .

XRControl.CanGrow Property

Gets or sets a value indicating whether the control’s height can grow in order to display the content in its entirety.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v19.2.dll

NuGet Package: DevExpress.Reporting.Core

Declaration

[SRCategory(ReportStringId.CatBehavior)]
[Browsable(false)]
[DefaultValue(true)]
public virtual bool CanGrow { get; set; }

Property Value

Type Default Description
Boolean true

true, if the control’s height can grow in order to display the entire content; otherwise, false.

Remarks

When the CanGrow property is enabled, the control’s height can be automatically increased to display the entire content. Any other report elements that may reside below the current control will be moved down to prevent them from overlapping.

If a control already overlaps the growing control by even one pixel, it will not be pushed down by the growing control.

The CanGrow and XRControl.CanShrink property values are ignored if the XRControl.AnchorVertical property is set to VerticalAnchorStyles.Bottom or VerticalAnchorStyles.Both.

Not all descendants of the XRControl class use the CanGrow property. For example, the Band class descendants ignore the CanGrow property.

Example

The code sample below illustrates how to create an XRLabel object and bind it to data. You should bind your report to the Northwind database’s Products table for this example to work properly.

To learn about the events available for a report and its controls, see Report Events.

using System;
using System.Drawing;
using DevExpress.XtraPrinting;
using DevExpress.XtraReports.UI;
// ...

public partial class XtraReport1 : XtraReport {

    public XRLabel CreateXRLabel() {
        // Create a new label object.
        XRLabel label = new XRLabel();

        // Bind the label to the UnitPrice data field. 
        // Change the label's foreground color depending on the UnitPrice data field value.
        label.ExpressionBindings.AddRange(new ExpressionBinding[] {
        new ExpressionBinding("BeforePrint", "Text", "[UnitPrice]"),
        new ExpressionBinding("BeforePrint", "ForeColor", "Iif([UnitPrice]>20, \'Red\', \'Green\')")});

        // Apply a currency format to the label's text.
        label.TextFormatString = "{0:c2}";

        // Automatically adjust the label's width to its content.
        label.AutoWidth = true;

        // Align the label's text to the bottom right corner.
        label.TextAlignment = TextAlignment.BottomRight;

        return label;
    }

    public XtraReport1() {
        // ...
        // Add the label to the report's Detail band.
        XRLabel label = CreateXRLabel();
        this.Detail.Controls.Add(label);
    }
}
See Also