Back to Devexpress

FormattingRule.Formatting Property

xtrareports-devexpress-dot-xtrareports-dot-ui-dot-formattingrule.md

latest5.4 KB
Original Source

FormattingRule.Formatting Property

Provides access to a set of formatting properties applied when the FormattingRule.Condition is true.

Namespace : DevExpress.XtraReports.UI

Assembly : DevExpress.XtraReports.v25.2.dll

NuGet Package : DevExpress.Reporting.Core

Declaration

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

Property Value

TypeDescription
Formatting

A Formatting object, containing a set of formatting properties.

|

Remarks

A FormattingRule object is comprised of a logical condition (represented by the FormattingRule.Condition property) that determines when this rule should be applied, and a set of formatting properties (represented by the Formatting property) which are applied to a report control or band when the Condition returns true.

The Formatting object that this property returns contains a set of appearance options (for instance, BackColor , ForeColor , Font ) and the Formatting.Visible property that can be used to suppress report elements.

Note

Note that if any of the Formatting object’s properties is not set, the corresponding property of a control isn’t changed when this formatting rule is applied.

For more information on using this property, please refer to the Conditionally Changing a Control’s Appearance document.

Example

This example demonstrates how to conditionally change a control’s appearance at runtime. For this, it is necessary to create an instance of the FormattingRule class, specify its FormattingRule.Condition and FormattingRule.Formatting properties and add this object to a report’s sheet of formatting rules (XtraReport.FormattingRuleSheet) and to the collection of formatting rules of a control or a band, to which it should be applied (XRControl.FormattingRules). Note that the same task can be also solved at design time, as described in the Conditionally Changing a Control’s Appearance topic.

csharp
using System.Drawing;
using System.Drawing.Printing;
using DevExpress.XtraReports.UI;
// ...

private void XtraReport1_BeforePrint(object sender, CancelEventArgs e) {
    // Create a new rule and add it to a report.
    FormattingRule rule = new FormattingRule();
    this.FormattingRuleSheet.Add(rule);

    // Specify the rule's properties.
    rule.DataSource = this.DataSource;
    rule.DataMember = this.DataMember;
    rule.Condition = "[UnitPrice] >= 30";
    rule.Formatting.BackColor = Color.WhiteSmoke;
    rule.Formatting.ForeColor = Color.IndianRed;
    rule.Formatting.Font = new Font("Arial", 10, FontStyle.Bold);

    // Apply this rule to the detail band.
    this.Detail.FormattingRules.Add(rule);
}
vb
Imports System.Drawing
Imports System.Drawing.Printing
Imports DevExpress.XtraReports.UI
' ...

Private Sub XtraReport1_BeforePrint(ByVal sender As Object, ByVal e As CancelEventArgs) _
Handles MyBase.BeforePrint
    ' Create a new rule and add it to a report.
    Dim rule As New FormattingRule()
    Me.FormattingRuleSheet.Add(rule)

    ' Specify the rule's properties.
    rule.DataSource = Me.DataSource
    rule.DataMember = Me.DataMember
    rule.Condition = "[UnitPrice] >= 30"
    rule.Formatting.BackColor = Color.WhiteSmoke
    rule.Formatting.ForeColor = Color.IndianRed
    rule.Formatting.Font = New Font("Arial", 10, FontStyle.Bold)

    ' Apply this rule to the detail band.
    Me.Detail.FormattingRules.Add(rule)
End Sub

See Also

Conditionally Change the Control's Appearance

FormattingRule Class

FormattingRule Members

DevExpress.XtraReports.UI Namespace