Mini Kabibi Habibi
<local:GridDemoModule x:Class="GridDemo.GroupSummary"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib"
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core"
xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
xmlns:dxgt="http://schemas.devexpress.com/winfx/2008/xaml/grid/themekeys"
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors"
xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase"
xmlns:local="clr-namespace:GridDemo"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800">
<local:GridDemoModule.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/GridDemo;component/ModuleResources/GroupSummaryTemplates.xaml" />
</ResourceDictionary.MergedDictionaries>
<dxdb:NWindDataLoader x:Key="NWindDataLoader" />
</ResourceDictionary>
</local:GridDemoModule.Resources>
<local:GridDemoModule.DataContext>
<local:GroupSummaryViewModel>
<local:GroupSummaryViewModel.AlignByColumnsDisplayModeSummaries>
<local:GridSummaryList>
<dxg:GridSummaryItem FieldName="Discount" SummaryType="Max" />
<dxg:GridSummaryItem FieldName="Total" SummaryType="Sum" />
<dxg:GridSummaryItem FieldName="Quantity" SummaryType="Min"/>
<dxg:GridSummaryItem FieldName="Freight" SummaryType="Sum"/>
<dxg:GridSummaryItem FieldName="UnitPrice" SummaryType="Average"/>
</local:GridSummaryList>
</local:GroupSummaryViewModel.AlignByColumnsDisplayModeSummaries>
<local:GroupSummaryViewModel.DefaultDisplayModeSummaries>
<local:GridSummaryList>
<dxg:GridSummaryItem FieldName="Discount" SummaryType="Max" />
<dxg:GridSummaryItem FieldName="Total" SummaryType="Sum" />
</local:GridSummaryList>
</local:GroupSummaryViewModel.DefaultDisplayModeSummaries>
</local:GroupSummaryViewModel>
</local:GridDemoModule.DataContext>
<dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
<dxdb:DemoModuleControl.OptionsContent>
<StackPanel Orientation="Vertical">
<dxe:CheckEdit x:Name="alignByColumnsCheckEdit" Margin="0,0,0,4" IsChecked="{Binding Path=DataContext.AlignSummariesByColumns, Mode=TwoWay}" Content="Align Summaries by Columns"/>
<dxe:CheckEdit Margin="0,0,0,12" IsChecked="{Binding Path=DataContext.AllowCascadeUpdate, Mode=TwoWay}" Content="Allow Cascade Update"/>
<dx:GroupFrame Header="Summary Template" Visibility="{Binding IsChecked, ElementName=alignByColumnsCheckEdit, Converter={StaticResource BoolToVisibilityInverseConverter}}">
<dxe:ListBoxEdit Background="{x:Null}" ShowBorder="False" Margin="0,0,30,0" SelectedIndex="0" Name="summaryItemTemplateComboBox" EditValueChanged="summaryItemTemplateComboBox_SelectionChanged">
<dxe:ListBoxEdit.StyleSettings>
<dxe:RadioListBoxEditStyleSettings />
</dxe:ListBoxEdit.StyleSettings>
<dxe:ListBoxEdit.Items>
<sys:String>Customizable</sys:String>
<sys:String>Conditional</sys:String>
<sys:String>Custom</sys:String>
<sys:String>Default</sys:String>
</dxe:ListBoxEdit.Items>
</dxe:ListBoxEdit>
</dx:GroupFrame>
</StackPanel>
</dxdb:DemoModuleControl.OptionsContent>
<dxg:GridControl Name="grid" ItemsSource="{Binding Path=Invoices, Source={StaticResource NWindDataLoader}}" GroupSummarySource="{Binding SummarySource}">
<dxg:GridControl.Columns>
<dxg:GridColumn Name="colCity" FieldName="City" MinWidth="120" GroupIndex="0" VisibleIndex="{Binding CityColumnVisibleIndex, Mode=TwoWay}"/>
<dxg:GridColumn FieldName="UnitPrice" MinWidth="30">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings DisplayFormat="$0.00" MaskType="Numeric" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Quantity" MinWidth="30" />
<dxg:GridColumn FieldName="Discount" MinWidth="30">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings DisplayFormat="0%" MaskType="Numeric" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Freight" MinWidth="30">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings DisplayFormat="$0.00" MaskType="Numeric" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Total" UnboundType="Decimal" MinWidth="30" UnboundExpression="([UnitPrice] * [Quantity]) * (1 - [Discount])">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings DisplayFormat="$0.00" MaskType="Numeric" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn FieldName="ExtendedPrice" Visible="False" ShowInColumnChooser="False" AllowColumnFiltering="False" />
</dxg:GridControl.Columns>
<dxg:GridControl.View>
<dxg:TableView x:Name="view" AllowPerPixelScrolling="True" ShowGroupedColumns="{Binding Path=AlignSummariesByColumns}"
AllowCascadeUpdate="{Binding Path=AllowCascadeUpdate}" AllowGroupSummaryCascadeUpdate="{Binding Path=AllowCascadeUpdate}"
GroupSummaryDisplayMode="{Binding Path=AlignSummariesByColumns, Converter={StaticResource BoolToGroupSummaryDisplayModeConverter}}"
AllowEditing="False" NavigationStyle="Row" AutoWidth="True" GroupSummaryItemTemplate="{StaticResource customTemplateWithSummaryCustomization}" />
</dxg:GridControl.View>
</dxg:GridControl>
</dxdb:DemoModuleControl>
</local:GridDemoModule>