This question is locked. New answers and comments are not allowed.
                        
                        I am trying to define a sum aggregate in code behind for a Grid column in code behind. These fields are pulled in dynamically. For a column that is set in the XAML, I have set it like so:
| <telerikGridView:GridViewDataColumn UniqueName="PreviouslyNegotiatedAmount" DataMemberBinding="{Binding PreviouslyNegotiatedAmount}" HeaderCellStyle="{StaticResource HeaderCellStyle}" DataFormatString="{}{0:c0}" IsReadOnly="True" MinWidth="60" Width="80" > | 
| <telerikGridView:GridViewDataColumn.Header> | 
| <TextBlock Text="Prv Yr Neg Amt" Style="{StaticResource HeaderCellTextBlockStyle}"> | 
| <ToolTipService.ToolTip> | 
| <ToolTip Content="Prv Yr Neg Amt"></ToolTip> | 
| </ToolTipService.ToolTip> | 
| </TextBlock> | 
| </telerikGridView:GridViewDataColumn.Header> | 
| <telerikGridView:GridViewDataColumn.AggregateFunctions> | 
| <Data:SumFunction Caption="Sum (Prev Yr Neg Amt):" ResultFormatString="{}{0:c0}" /> | 
| </telerikGridView:GridViewDataColumn.AggregateFunctions> | 
| </telerikGridView:GridViewDataColumn> | 
When I perform a grouping it sums the data in the groups and converts it to currency correctly.
In code behind, I have the following. MatricDataColumn inherits from GridViewComboBoxColumn that simply adds a string MatricName and overrides the CreateCellElement method:
| using (RadGridViewProposal.DeferRefresh()) | 
| { | 
| var matrics = (from t in CurrentTemplate.TemplateMetrics | 
| orderby t.OrderOfMetric | 
| select t).ToList(); | 
| foreach (var m in matrics) | 
| { | 
| var textBlockHeader = new TextBlock {Text = m.MatricName}; | 
| textBlockHeader.SetValue(ToolTipService.ToolTipProperty, m.Description); | 
| textBlockHeader.Style = Resources["HeaderCellTextBlockStyle"] as Style; | 
| var col = new MatricDataColumn | 
| { | 
| MatricName = m.MatricName, | 
| DataMemberBinding = new Binding(m.MatricName + "_Value"), | 
| DataFormatString = m.FormatString, | 
| DataType = Type.GetType(m.DataType), | 
| UniqueName = "Matrix_" + m.MatricName, | 
| //AggregateFunctions = new Telerik.Windows.Data.AggregateFunctionCollection{ new Telerik.Windows.Data.AggregateFunction{ Caption= " } | 
| Header = textBlockHeader, | 
| IsFilterable = true, | 
| IsReadOnly = true, | 
| IsSortable = true, | 
| HeaderCellStyle = Resources["HeaderCellStyle"] as Style, | 
| Width = 50, | 
| MinWidth = 30, | 
| TextAlignment = TextAlignment.Center | 
| }; | 
| if (col.UniqueName == "Matrix_Red Flags") | 
| col.AggregateFunctions.Add(new Telerik.Windows.Data.CountFunction | 
| {Caption = "Count (Red Flags):"}); | 
| else if (col.UniqueName == "Matrix_ABC Spend") | 
| col.AggregateFunctions.Add(new Telerik.Windows.Data.SumFunction | 
| { | 
| Caption = "Sum (ABC Spend):", | 
| SourceField = "ABC Spend_Value", | 
| ResultFormatString = "{}{0:c0}" | 
| }); | 
| if (m.OrderOfMetric == -1) | 
| { | 
| RadGridViewProposal.Columns.Insert(RadGridViewProposal.FrozenColumnCount, col); | 
| RadGridViewProposal.FrozenColumnCount++; | 
| } | 
| else | 
| RadGridViewProposal.Columns.Insert(RadGridViewProposal.Columns.Count - 4, col); | 
| } | 
| } | 
The CountFunction works as expected.
When grouping, the caption of the SumFunction shows up, but the value is blank. It does not error out, but I'm not sure if I have the correct SourceField specified. In the XAML I did not have to specify a SourceField. I tried this approach, but same result. Also, I believe the SourceField is correct because if I try to change it to Total Spend_Value.Text, it gives the error: there is no property Text for data type of decimal, so the Grid knows what that field is.
I've attached a screenshot of the grouping results. The amount for Prev yr Neg Amt was censored.
Any suggestions are greatly appreciated.
Please let me know should you need anything else.
