[Root] / Xceed.Wpf.DataGrid Assembly / Xceed.Wpf.DataGrid Namespace / MergedColumnCollection Class
Example


In This Topic
    MergedColumnCollection Class
    In This Topic
    Represents a dynamic Column collection that provides notifications when items are added or removed, or when the whole collection is refreshed.
    Object Model
    MergedColumnCollection ClassColumnBase Class
    Syntax
    'Declaration
     
    <DefaultMemberAttribute("Item")>
    <DebuggerTypeProxyAttribute(System.Collections.Generic.Mscorlib_CollectionDebugView`1)>
    <DebuggerDisplayAttribute("Count = {Count}")>
    Public Class MergedColumnCollection 
       Inherits ColumnCollection
    'Usage
     
    Dim instance As MergedColumnCollection
    [DefaultMember("Item")]
    [DebuggerTypeProxy(System.Collections.Generic.Mscorlib_CollectionDebugView`1)]
    [DebuggerDisplay("Count = {Count}")]
    public class MergedColumnCollection : ColumnCollection 
    Remarks
    Used to set the MergedColumns property.
    Example

    The following shows how to set up merged column headers.

    <xcdg:DataGridControl x:Name="grid"
                           ItemsSource="{Binding Source={StaticResource cvsTransactions}}"
                           ReadOnly="True"
                           NavigationBehavior="RowOnly">
       <xcdg:DataGridControl.Resources>
         <!-- These implicit styles that are local to this DataGridControl are an
                      elegant way to set some desired default values of various grid elements. -->
         <ResourceDictionary>
           <Style TargetType="xcdg:MergedColumnManagerRow">
             <Setter Property="AllowColumnReorder"
                     Value="{Binding ElementName=allowMergedColumnReorderCheckBox,Path=IsChecked}"/>
             <Setter Property="AllowColumnResize"
                     Value="{Binding ElementName=allowMergedColumnResizeCheckBox,Path=IsChecked}"/>
           </Style>
    
           <Style TargetType="xcdg:ColumnManagerRow">
             <Setter Property="AllowColumnReorder"
                     Value="{Binding ElementName=allowColumnReorderCheckBox,Path=IsChecked}"/>
             <Setter Property="AllowColumnResize"
                     Value="{Binding ElementName=allowColumnResizeCheckBox,Path=IsChecked}"/>
           </Style>
         </ResourceDictionary>
       </xcdg:DataGridControl.Resources>
    
       <xcdg:DataGridControl.MergedHeaders>
         <xcdg:MergedHeader>
           <xcdg:MergedHeader.MergedColumns>
             <xcdg:MergedColumn FieldName="Quarter1"
                                Title="Quarter 1"
                                CellHorizontalContentAlignment="Center"
                                ChildColumnNames="JanuarySummary,FebruarySummary,MarchSummary" />
             <xcdg:MergedColumn FieldName="Quarter2"
                                Title="Quarter 2"
                                CellHorizontalContentAlignment="Center"
                                ChildColumnNames="AprilSummary,MaySummary,JuneSummary" />
             <xcdg:MergedColumn FieldName="Quarter3"
                                Title="Quarter 3"
                                CellHorizontalContentAlignment="Center"
                                ChildColumnNames="JulySummary,AugustSummary,SeptemberSummary" />
             <xcdg:MergedColumn FieldName="Quarter4"
                                Title="Quarter 4"
                                CellHorizontalContentAlignment="Center"
                                ChildColumnNames="OctoberSummary,NovemberSummary,DecemberSummary" />
           </xcdg:MergedHeader.MergedColumns>
         </xcdg:MergedHeader>
         <xcdg:MergedHeader>
           <xcdg:MergedHeader.MergedColumns>
             <xcdg:MergedColumn FieldName="JanuarySummary"
                                Title="January Transactions"
                                CellHorizontalContentAlignment="Center"
                                ChildColumnNames="JanuaryIncome,JanuaryExpense" />
             <xcdg:MergedColumn FieldName="FebruarySummary"
                                Title="February Transactions"
                                CellHorizontalContentAlignment="Center"
                                ChildColumnNames="FebruaryIncome,FebruaryExpense" />
             <xcdg:MergedColumn FieldName="MarchSummary"
                                Title="March Transactions"
                                CellHorizontalContentAlignment="Center"
                                ChildColumnNames="MarchIncome,MarchExpense" />
             <xcdg:MergedColumn FieldName="AprilSummary"
                                Title="April Transactions"
                                CellHorizontalContentAlignment="Center"
                                ChildColumnNames="AprilIncome,AprilExpense" />
             <xcdg:MergedColumn FieldName="MaySummary"
                                Title="May Transactions"
                                CellHorizontalContentAlignment="Center"
                                ChildColumnNames="MayIncome,MayExpense" />
             <xcdg:MergedColumn FieldName="JuneSummary"
                                Title="June Transactions"
                                CellHorizontalContentAlignment="Center"
                                ChildColumnNames="JuneIncome,JuneExpense" />
             <xcdg:MergedColumn FieldName="JulySummary"
                                Title="July Transactions"
                                CellHorizontalContentAlignment="Center"
                                ChildColumnNames="JulyIncome,JulyExpense" />
             <xcdg:MergedColumn FieldName="AugustSummary"
                                Title="August Transactions"
                                CellHorizontalContentAlignment="Center"
                                ChildColumnNames="AugustIncome,AugustExpense" />
             <xcdg:MergedColumn FieldName="SeptemberSummary"
                                Title="September Transactions"
                                CellHorizontalContentAlignment="Center"
                                ChildColumnNames="SeptemberIncome,SeptemberExpense" />
             <xcdg:MergedColumn FieldName="OctoberSummary"
                                Title="October Transactions"
                                CellHorizontalContentAlignment="Center"
                                ChildColumnNames="OctoberIncome,OctoberExpense" />
             <xcdg:MergedColumn FieldName="NovemberSummary"
                                Title="November Transactions"
                                CellHorizontalContentAlignment="Center"
                                ChildColumnNames="NovemberIncome,NovemberExpense" />
             <xcdg:MergedColumn FieldName="DecemberSummary"
                                Title="December Transactions"
                                CellHorizontalContentAlignment="Center"
                                ChildColumnNames="DecemberIncome,DecemberExpense" />
           </xcdg:MergedHeader.MergedColumns>
         </xcdg:MergedHeader>
       </xcdg:DataGridControl.MergedHeaders>
    
       <xcdg:DataGridControl.Columns>
         <xcdg:Column FieldName="JanuaryIncome"
                      Title="Income"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="JanuaryExpense"
                      Title="Expense"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="FebruaryIncome"
                      Title="Income"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="FebruaryExpense"
                      Title="Expense"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="MarchIncome"
                      Title="Income"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="MarchExpense"
                      Title="Expense"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="AprilIncome"
                      Title="Income"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="AprilExpense"
                      Title="Expense"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="MayIncome"
                      Title="Income"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="MayExpense"
                      Title="Expense"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="JuneIncome"
                      Title="Income"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="JuneExpense"
                      Title="Expense"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="JulyIncome"
                      Title="Income"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="JulyExpense"
                      Title="Expense"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="AugustIncome"
                      Title="Income"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="AugustExpense"
                      Title="Expense"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="SeptemberIncome"
                      Title="Income"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="SeptemberExpense"
                      Title="Expense"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="OctoberIncome"
                      Title="Income"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="OctoberExpense"
                      Title="Expense"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="NovemberIncome"
                      Title="Income"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="NovemberExpense"
                      Title="Expense"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="DecemberIncome"
                      Title="Income"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
         <xcdg:Column FieldName="DecemberExpense"
                      Title="Expense"
                      CellContentTemplate="{StaticResource currencyCellDataTemplate}" />
    
       </xcdg:DataGridControl.Columns>
    
       <xcdg:DataGridControl.View>
         <!-- In this sample, you can define this resource to specify the default
                      theme this DataGridControl will be in. This is not mandatory, so we
                      use a DynamicResource to silently ignore its absence. -->
         <xcdg:TableflowView Theme="{DynamicResource defaultTheme}"
                             AllowColumnChooser="{Binding Source={x:Static local:ConfigurationData.Singleton}, Path=AllowColumnChooser}"
                             ShowFixedColumnSplitter="{Binding Source={x:Static local:ConfigurationData.Singleton}, Path=ShowFixedColumnSplitter}" />
       </xcdg:DataGridControl.View>
    
     </xcdg:DataGridControl>
    Inheritance Hierarchy

    System.Object
       System.Collections.ObjectModel.Collection<T>
          Xceed.Wpf.DataGrid.ContentElementCollection<T>
             Xceed.Wpf.DataGrid.ObservableColumnCollection
                Xceed.Wpf.DataGrid.ColumnCollection
                   Xceed.Wpf.DataGrid.MergedColumnCollection

    Public Properties
     NameDescription
    Public Property (Inherited from System.Collections.ObjectModel.Collection<T>)
    Public PropertyOverloaded.  (Inherited from Xceed.Wpf.DataGrid.ObservableColumnCollection)
    Public PropertyOverridden. Gets or sets a grid's main (primary) column.  
    Top
    Protected Properties
     NameDescription
    Protected Property (Inherited from System.Collections.ObjectModel.Collection<T>)
    Top
    Public Methods
    Protected Methods
     NameDescription
    Protected MethodRemoves all items from the collection. (Inherited from Xceed.Wpf.DataGrid.ObservableColumnCollection)
    Protected MethodInserts a column at the specified index. (Inherited from Xceed.Wpf.DataGrid.ObservableColumnCollection)
    Protected MethodMoves an item in the collection. (Inherited from Xceed.Wpf.DataGrid.ContentElementCollection<ColumnBase>)
    Protected MethodRaises the CollectionChanged event using the specified NotifyCollectionChangedEventArgs. (Inherited from Xceed.Wpf.DataGrid.ContentElementCollection<ColumnBase>)
    Protected MethodInvoked after an item is added. (Inherited from Xceed.Wpf.DataGrid.ColumnCollection)
    Protected MethodOverridden. Called when a column is about to be added to the collection.  
    Protected MethodOverridden. Invoked after an item is removed.  
    Protected MethodCalled when a column is about to be removed the collection. (Inherited from Xceed.Wpf.DataGrid.ColumnCollection)
    Protected MethodRaises the PropertyChanged event using the specified PropertyChangedEventArgs. (Inherited from Xceed.Wpf.DataGrid.ContentElementCollection<ColumnBase>)
    Protected Method (Inherited from Xceed.Wpf.DataGrid.ObservableColumnCollection)
    Protected MethodRemoves the column at the specified index. (Inherited from Xceed.Wpf.DataGrid.ContentElementCollection<ColumnBase>)
    Protected MethodReplaces an existing column with the specified column. (Inherited from Xceed.Wpf.DataGrid.ObservableColumnCollection)
    Top
    Public Events
     NameDescription
    Public EventRaised when a change occurs in the collection. (Inherited from Xceed.Wpf.DataGrid.ContentElementCollection<ColumnBase>)
    Public EventRaised when the value of a property is changed. (Inherited from Xceed.Wpf.DataGrid.ContentElementCollection<ColumnBase>)
    Top
    Supported Frameworks

    .NET: net5.0, net5.0-windows, net6.0, net6.0-macos, net6.0-windows, net7.0, net7.0-macos, net7.0-windows, net8.0, net8.0-browser, net8.0-macos, net8.0-windows, net9.0, net9.0-browser, net9.0-macos, net9.0-windows, net10.0, net10.0-browser, net10.0-macos, net10.0-windows.

    .NET Framework: net20, net35, net40, net403, net45, net451, net452, net46, net461, net462, net463, net47, net471, net472, net48, net481.

    See Also