public override void OnInitializeEditElement(DataColumnBase dataColumn, GridCaptionSummaryCell uiElement, object dataContext)
        {
            GridColumn column = dataColumn.GridColumn;

            if (dataContext is Group)
            {
                var groupRecord = dataContext as Group;
                if (this.DataGrid.CaptionSummaryRow == null)
                {
                    var groupedColumn = this.GetGroupedColumn(groupRecord);

                    //WPF-20212 - If we add the column in GroupColumnDescription which is not placed in SfDataGrid column collections, skipped here to group by that column.
                    ColumnGroupDescription groupDesc = null;
                    if (groupedColumn == null)
                    {
                        groupDesc = this.DataGrid.View.GroupDescriptions[groupRecord.Level - 1] as ColumnGroupDescription;
                        if (groupDesc == null)
                        {
                            return;
                        }
                    }
                    string stringFormat = this.DataGrid.GroupCaptionTextFormat ?? this.DataGrid.GroupCaptionConstant;
                    var    headerText   = groupedColumn != null ? groupedColumn.HeaderText : groupDesc.PropertyName;
                    uiElement.Content = this.DataGrid.View.TopLevelGroup.GetGroupCaptionText(groupRecord, stringFormat, headerText);
                }
                else if (this.DataGrid.CaptionSummaryRow.ShowSummaryInRow)
                {
                    uiElement.Content = SummaryCreator.GetSummaryDisplayTextForRow(groupRecord.SummaryDetails, this.DataGrid.View);
                }
                else
                {
                    uiElement.Content = SummaryCreator.GetSummaryDisplayText(groupRecord.SummaryDetails, column.MappingName, this.DataGrid.View);
                }
            }
        }
        public override void OnUpdateEditBinding(DataColumnBase dataColumn, GridCaptionSummaryCell element, object dataContext)
        {
            GridColumn column = dataColumn.GridColumn;

            if (element.DataContext is Group && this.DataGrid.View.GroupDescriptions.Count > 0)
            {
                var groupRecord   = element.DataContext as Group;
                var groupedColumn = this.GetGroupedColumn(groupRecord);

                ColumnGroupDescription groupDesc = null;
                //WPF-20212 - If we add the column in GroupColumnDescription which is not placed in SfDataGrid column collections, skipped here to group by that column.
                if (groupedColumn == null)
                {
                    groupDesc = this.DataGrid.View.GroupDescriptions[groupRecord.Level - 1] as ColumnGroupDescription;
                    if (groupDesc == null)
                    {
                        return;
                    }
                }
                // WPF-36158 When we defined GroupColumnDescription column name are not mentioned in SfGrid columns. So the header text are not applied to summary rows.
                var headerText = groupedColumn != null ? groupedColumn.HeaderText : groupDesc.PropertyName;
                if (this.DataGrid.CaptionSummaryRow == null)
                {
                    if (this.DataGrid.View.GroupDescriptions.Count < groupRecord.Level)
                    {
                        return;
                    }
                    var stringFormat = this.DataGrid.GroupCaptionTextFormat ?? this.DataGrid.GroupCaptionConstant;
                    element.Content = this.DataGrid.View.TopLevelGroup.GetGroupCaptionText(groupRecord, stringFormat, headerText);
                }
                else if (this.DataGrid.CaptionSummaryRow.ShowSummaryInRow)
                {
                    element.Content = SummaryCreator.GetSummaryDisplayTextForRow(groupRecord.SummaryDetails, this.DataGrid.View, headerText);
                }
                else
                {
                    element.Content = SummaryCreator.GetSummaryDisplayText(groupRecord.SummaryDetails, column.MappingName, this.DataGrid.View);
                }
            }
        }