Hello,
I have a XamDataGrid with fields/columns A, B and C. A and B are using summary definitions each with the default "Sum"-summary calculator set. For C I defined a third summary definition with a custom summary calculator where in the EndCalculation event I'am calculating a percentage value depending on the summaries A and B. The problem is, that I only can set one field as SourceFieldName per summary definition which I set to field C for the custom summary calculator. Now the EndCalculation event is just fired on changes of cells in field C. But I need it to be fired on changes of the cells in column A and B or just on their summary changes. How can I achieve this?
I have been looking into your question and I can suggest you use our XamCalculationManager in order to create custom summaries based on field values :
http://help.infragistics.com/Help/NetAdvantage/WPF/2012.2/CLR4.0/html/xamCalculationManager_Using_xamCalculationManager_with_xamDataGrid.html
If you need any further assistance on this matter, feel free to ask.
thanks for the hint. Using XamCalculationManager for summary calculations is a new feature of NetAdvantage 2012.2, right?! I tried it but the problem is it worked just for the grand summaries but not for the underlying group summaries. Am I missing something? See my code snippet of the 3 summary definitions I use:
<igDP:SummaryDefinition Key="Net2Summary"
SourceFieldName="Net2"
Calculator="Sum">
<igDP:SummaryDefinition.CalculationSettings>
<igDP:SummaryCalculationSettings ReferenceId="Net2Sum"/>
igDP:SummaryDefinition.CalculationSettings>
igDP:SummaryDefinition>
<igDP:SummaryDefinition Key="Gross3Summary"
SourceFieldName="Gross3"
<igDP:SummaryCalculationSettings ReferenceId="Gross3Sum"/>
<igDP:SummaryDefinition Key="PayfactorNet2Summary"
SourceFieldName="PayfactorNet2InPercent">
<igDP:SummaryCalculationSettings Formula="[Net2Sum] + [Gross3Sum]" ReferenceId="PFN2Sum"/>
Hello, I have been looking into your post and I am attaching my sample application(DataGridCalculationManagerSum.zip). If you do not want to use our calculation manager, you need to create your own custom summary calculator : http://help.infragistics.com/NetAdvantage/WPF/2012.2/CLR4.0/?page=xamDataPresenter_Creating_a_Custom_Summary_Calculator.html If you have any other questions on this matter, feel free to ask.
thanks for your sample but this is not what I want. As I described above I also need the summaries in each group header not just in the grand summaries.
And as you can read in my first post I also tried to use a custom summary calculator but it didn't work!
Thank you for your reply. I have created a sample application(DataGridCustomSumCalculator.zip) where I have used Custom Summary Calculator in order to achieve the desired functionality.
thank you for your new sample but there you can see the problem I also had with the summar calculator solution: If you change a value in one of the used columns i.e. "Mileage" no update is happinging because the aggregate function of the summary calculator is not called.
I have been looking into this issue and I can suggest you handle the ‘EditModeEnded’ event of the XamDataGrid and refresh the summary definition like e.g. :
private void xamDataGrid_EditModeEnded(object sender, Infragistics.Windows.DataPresenter.Events.EditModeEndedEventArgs e)
{
xamDataGrid.FieldLayouts[0].SummaryDefinitions[0].Refresh();
}
If you have any other question on this matter, feel free to ask.
The problem is that our grid is much more complex and values are sometimes getting calculated by XamCalculationManager and are not always entered by user.