Skip to main content

GridColumnSummary.DisplayFormat Property

Gets or sets the pattern used to format the summary value.

Namespace: DevExpress.XamarinForms.DataGrid

Assembly: DevExpress.XamarinForms.Grid.dll

NuGet Package: DevExpress.XamarinForms.Grid

#Declaration

C#
[XtraSerializableProperty]
public string DisplayFormat { get; set; }

#Property Value

Type Description
String

A string that specifies the pattern used to format the summary value.

#Remarks

Use the DisplayFormat property to format the summary value and add any text to its textual representation. The general pattern is shown below:

<custom static text>{0:<format specifier<precision specifier>>}<custom static text>

  • {0} - the summary value’s placeholder;
  • format specifier - the formating type (currency, scientific, etc);
  • precision specifier - the number of characters displayed after the decimal point.

For example, to display currency values, set the DisplayFormat property to ‘Total: {0:c2}‘. If the summary value is 123, its formatted equivalent is Total: $123.00.

If you do not specify the summary’s display format, the grid uses the following default formats:

Summary Type Total Summary Format Group Summary Format
Average AVG={0:columnDisplayFormat} summaryFieldName: AVG={0:columnDisplayFormat}
Count {0} {0}
Min MIN={0:columnDisplayFormat} summaryFieldName: MIN={0:columnDisplayFormat}
Max MAX={0:columnDisplayFormat} summaryFieldName: MAX={0:columnDisplayFormat}
Sum SUM={0:columnDisplayFormat} summaryFieldName: SUM={0:columnDisplayFormat}

#Example

This example demonstrates how to use predefined aggregate functions and custom rule to calculate group and total summaries for grid columns.

Data Summaries

  • Set the group summary to display the maximum Total value for each group of records.
  • Set the total summary to calculate the sum of values in the Total column.
  • Set the custom total summary to count the number of orders whose value in the Shipped column is false (to count orders that are not shipped).
<dxg:DataGridView x:Name="grid" ItemsSource="{Binding Orders}" 
                 CalculateCustomSummary="OnCalculateCustomSummary">
    <!-- ... -->
    <dxg:DataGridView.GroupSummaries>
        <dxg:GridColumnSummary FieldName="Total" Type="Max"/>
    </dxg:DataGridView.GroupSummaries>

    <dxg:DataGridView.TotalSummaries>
        <dxg:GridColumnSummary FieldName="Total" Type="Sum" 
                               DisplayFormat="Total: {0:C0}"/>
        <dxg:GridColumnSummary FieldName="Shipped" Type="Custom" 
                               DisplayFormat="Not Shipped: {0}"/>
    </dxg:DataGridView.TotalSummaries>
</dxg:DataGridView>
int count;
// ...

void OnCalculateCustomSummary(object sender, CustomSummaryEventArgs e) {
    if (e.FieldName.ToString () == "Shipped")
        if (e.IsTotalSummary){
            if (e.SummaryProcess == CustomSummaryProcess.Start) {
                count = 0;
            }
            if (e.SummaryProcess == CustomSummaryProcess.Calculate) {
                if (!(bool)e.FieldValue)
                    count++;
                e.TotalValue = count;
            }
        }
}
See Also