Mini Kabibi Habibi
<local:GridDemoModule x:Class="GridDemo.Grouping" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="800" xmlns:local="clr-namespace:GridDemo" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:dxdb="http://schemas.devexpress.com/winfx/2008/xaml/demobase" xmlns:collections="clr-namespace:System.Collections;assembly=mscorlib" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008">
<local:GridDemoModule.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/GridDemo;component/Themes/generic.SL.xaml" />
</ResourceDictionary.MergedDictionaries>
<dxdb:NWindDataLoader x:Key="NWindDataLoader" />
<dx:DefaultBooleanToNullableBooleanConverter x:Key="DefaultBooleanToNullableBooleanConverter" />
</ResourceDictionary>
</local:GridDemoModule.Resources>
<dxdb:DemoModuleControl SupressGroupFramePaddingInOptions="False">
<dxdb:DemoModuleControl.OptionsContent>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Vertical" Margin="0,0,0,12">
<dxe:CheckEdit Margin="0,0,0,4" FontWeight="Bold" Name="allowFixedGroupsCheckBox" IsChecked="{Binding Path=View.AllowFixedGroups, Mode=TwoWay, Converter={StaticResource DefaultBooleanToNullableBooleanConverter}}" Content="Allow Fixed Groups" ToolTipService.ToolTip="Specifies whether the top visible group row is always displayed when scrolling through grouped data." />
<dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=View.ShowGroupPanel, Mode=TwoWay}" Content="Show Group Panel" />
<dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=View.ShowColumnHeaders, Mode=TwoWay}" Content="Show Column Headers" />
<dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=View.ShowGroupedColumns, Mode=TwoWay}" Content="Show Grouped Columns" />
<dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=View.Grid.AutoExpandAllGroups, Mode=TwoWay}" Content="Automatically Expand All Groups" />
<dxe:CheckEdit Margin="0,0,0,4" IsChecked="{Binding Path=View.UseAnimationWhenExpanding, Mode=TwoWay}" Content="Use Animation When Expanding" />
<dxe:CheckEdit Margin="0,0,0,0" IsChecked="{Binding Path=View.Grid.IsRecursiveExpand, Mode=TwoWay}" Content="Expand Groups Recursively" />
</StackPanel>
<dx:GroupFrame Header="Group By" Margin="0,0,0,12">
<dxe:ListBoxEdit Background="{x:Null}" ShowBorder="False" Margin="0,0,30,0" x:Name="groupList" SelectedIndex="0" EditValueChanged="groupList_SelectionChanged">
<dxe:ListBoxEdit.StyleSettings>
<dxe:RadioListBoxEditStyleSettings />
</dxe:ListBoxEdit.StyleSettings>
<dxe:ListBoxEdit.Items>
<sys:String>Country then City</sys:String>
<sys:String>Country, City, Order Date</sys:String>
<sys:String>City then Order Date</sys:String>
<sys:String>None</sys:String>
</dxe:ListBoxEdit.Items>
</dxe:ListBoxEdit>
</dx:GroupFrame>
</StackPanel>
</dxdb:DemoModuleControl.OptionsContent>
<dxg:GridControl Name="grid" Grid.Column="0" ItemsSource="{Binding Path=Invoices, Source={StaticResource NWindDataLoader}}">
<dxg:GridControl.View>
<dxg:TableView NavigationStyle="Row" AutoWidth="True" AllowPerPixelScrolling="True" AllowFixedGroups="True" />
</dxg:GridControl.View>
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Country" MinWidth="30">
</dxg:GridColumn>
<dxg:GridColumn FieldName="City" MinWidth="30" />
<dxg:GridColumn FieldName="OrderDate" MinWidth="30">
<dxg:GridColumn.EditSettings>
<dxe:DateEditSettings DisplayFormat="d" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn FieldName="UnitPrice" MinWidth="30">
<dxg:GridColumn.EditSettings>
<dxe:TextEditSettings DisplayFormat="$0.00" MaskType="Numeric" />
</dxg:GridColumn.EditSettings>
</dxg:GridColumn>
<dxg:GridColumn FieldName="Region" MinWidth="30" />
<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:GridControl.Columns>
<dxg:GridControl.GroupSummary>
<dxg:GridSummaryItem SummaryType="Count" />
</dxg:GridControl.GroupSummary>
</dxg:GridControl>
</dxdb:DemoModuleControl>
</local:GridDemoModule>