xtrareports-devexpress-dot-xtrareports-dot-ui-dot-formattingrule.md
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
[SRCategory(ReportStringId.CatBehavior)]
public Formatting Formatting { get; }
<SRCategory(ReportStringId.CatBehavior)>
Public ReadOnly Property Formatting As Formatting
| Type | Description |
|---|---|
| Formatting |
A Formatting object, containing a set of formatting properties.
|
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.
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.
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);
}
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