Version

SummaryUIType Enumeration

Used for specifying what type of user interface will be presented for selecting summary calculations to perform.
Syntax
'Declaration
 
Public Enum SummaryUIType 
   Inherits System.Enum
public enum SummaryUIType : System.Enum 
Members
MemberDescription
DefaultDefault is resolved to MultiSelectForNumericsOnly.
MultiSelectUser is allowed to add multiple summaries per field.
MultiSelectForNumericsOnlySame as SingleSelectForNumericsOnly except this option will allow multiple summaries per field.
SingleSelectUser is allowed to add only one summary per field via the UI. Note that this does not prevent adding multiple summaries per field via code.
SingleSelectForNumericsOnlyThis option will enable the summaries UI for numeric columns only. For data types such as String or DateTime only a limited subset of summaries are valid like Minimum, Maximum etc. Summaries such as Average, Sum etc… are not applicable to them. This option is a way to only display summaries UI for fields that are numeric types.
Remarks

SummaryUIType is used for specifying FieldSettings.SummaryUIType property. To actually enable the user interface, set the FieldSettings.AllowSummaries property.

Example
The following code shows you some of the important settings relating to Summaries Functionality.

Note that the following code assumes there is a XamDataGrid or XamDataPresenter by the name of _dp defined.
Private Sub Window1_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs)
    ' Set the data source.
    _dp.DataSource = _dataSource

    ' AllowSummaries enables the UI for the user to be able to select/unselect
    ' summaries for fields. SummaryUIType specifies whether the user is allowed to
    ' select single or multiple summaries pereach field. It also has options for
    ' enabling summary selection UI for numeric fields only or for all fields.
    ' 
    _dp.FieldSettings.AllowSummaries = True
    _dp.FieldSettings.SummaryUIType = SummaryUIType.MultiSelect

    ' To add a summary, use the SummaryDefinitions property of the FieldLayout.
    ' Each SummaryDefinition object represents a summary calculation to perform
    ' on a field's data. SourceFieldName specifies the field whose data will be
    ' summarized. Key is optional and it simply associates an identifier to the
    ' summary. This identifier can be used later to access the summary via 
    ' indexers of SummaryDefinitionCollection and SummaryResultCollection. 
    ' Calculator specifies the type of calculation to perform on the field data. 
    ' There are five built in calculators of Average, Sum, Minimum, Maximum and 
    ' Count. However you can easily add custom calculators by deriving from 
    ' SummaryCalculator base class and registering the new calculator using the 
    ' SummaryCalculator's Register static method. 
    ' 
    Dim summaryDef1 As SummaryDefinition = _dp.FieldLayouts(0).SummaryDefinitions.Add( _
        "PriceAverage", SummaryCalculator.Average, "Price")

    ' StringFormat specifies the format that will be used to format the summary 
    ' result.
    ' 
    summaryDef1.StringFormat = "Avg={0:C}"

    ' Add a second summary.
    Dim summaryDef2 As SummaryDefinition = _dp.FieldLayouts(0).SummaryDefinitions.Add( _
        "PriceTotal", SummaryCalculator.Sum, "Price")

    summaryDef2.StringFormat = "Total={0:C}"
End Sub
Note that the following code assumes there is a XamDataGrid or XamDataPresenter by the name of _dp defined.
public void Window1_Loaded( object sender, RoutedEventArgs e )
{
	// Set the data source.
	_dp.DataSource = _dataSource;

	// AllowSummaries enables the UI for the user to be able to select/unselect
	// summaries for fields. SummaryUIType specifies whether the user is allowed to
	// select single or multiple summaries pereach field. It also has options for
	// enabling summary selection UI for numeric fields only or for all fields.
	// 
	_dp.FieldSettings.AllowSummaries = true;
	_dp.FieldSettings.SummaryUIType = SummaryUIType.MultiSelect;

	// To add a summary, use the SummaryDefinitions property of the FieldLayout.
	// Each SummaryDefinition object represents a summary calculation to perform
	// on a field's data. SourceFieldName specifies the field whose data will be
	// summarized. Key is optional and it simply associates an identifier to the
	// summary. This identifier can be used later to access the summary via 
	// indexers of SummaryDefinitionCollection and SummaryResultCollection. 
	// Calculator specifies the type of calculation to perform on the field data. 
	// There are five built in calculators of Average, Sum, Minimum, Maximum and 
	// Count. However you can easily add custom calculators by deriving from 
	// SummaryCalculator base class and registering the new calculator using the 
	// SummaryCalculator's Register static method. 
	// 
	SummaryDefinition summaryDef1 = _dp.FieldLayouts[0].SummaryDefinitions.Add( 
		"PriceAverage", SummaryCalculator.Average, "Price" );

	// StringFormat specifies the format that will be used to format the summary 
	// result.
	// 
	summaryDef1.StringFormat = "Avg={0:C}";

	// Add a second summary.
	SummaryDefinition summaryDef2 = _dp.FieldLayouts[0].SummaryDefinitions.Add(
		"PriceTotal", SummaryCalculator.Sum, "Price" );

	summaryDef2.StringFormat = "Total={0:C}";
}
        <igDP:XamDataGrid x:Name="_dp" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >

            
<igDP:XamDataGrid.FieldSettings>
                
<!--
                    AllowSummaries enables the UI for the user to be able to select/unselect summaries for fields.
                    SummaryUIType specifies whether the user is allowed to select single or multiple summaries per
                    each field. It also has options for enabling summary selection UI for numeric fields only or 
                    for all fields.
                
-->
                
<igDP:FieldSettings AllowSummaries="true" SummaryUIType="MultiSelect" />
            
</igDP:XamDataGrid.FieldSettings>

            
<igDP:XamDataGrid.FieldLayouts>
                
<igDP:FieldLayout IsDefault="true" >
                    
<!--
                        Use FieldLayout's SummaryDefinitions collection to add summaries.
                    
-->
                    
<igDP:FieldLayout.SummaryDefinitions>
                        
<!--
                            Each SummaryDefinition object represents a summary calculation to perform on a field's data.
                            SourceFieldName specifies the field whose data will be summarized. 
                            
                            Key is optional and it simply associates an identifier to the summary. This identifier can
                            be used later to access the summary via indexers of SummaryDefinitionCollection and 
                            SummaryResultCollection.
                            
                            Calculator specifies the type of calculation to perform on the field data. There are five
                            built in calculators of Average, Sum, Minimum, Maximum and Count. You can easily add custom
                            calculators by deriving from SummaryCalculator base class and registering the new calculator
                            using the SummaryCalculator's Register static method.
                            
                            StringFormat specifies the format that will be used to format the summary result.
                        
-->
                        
<igDP:SummaryDefinition Key="PriceAverage" SourceFieldName="Price" Calculator="Average" StringFormat="{}Avg={0:C}" />
                        
<igDP:SummaryDefinition Key="PriceTotal" SourceFieldName="Price" Calculator="Sum"  StringFormat="{}Total={0:C}" />
                    
</igDP:FieldLayout.SummaryDefinitions>
                
</igDP:FieldLayout>
            
</igDP:XamDataGrid.FieldLayouts>

        
</igDP:XamDataGrid>
Requirements

Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also