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

[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