'Declaration Public Property ResultPropertyName As String
'Usage Dim instance As StatFunction Dim value As String instance.ResultPropertyName = value value = instance.ResultPropertyName
public string ResultPropertyName {get; set;}
'Declaration Public Property ResultPropertyName As String
'Usage Dim instance As StatFunction Dim value As String instance.ResultPropertyName = value value = instance.ResultPropertyName
public string ResultPropertyName {get; set;}
<Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"> <Grid.Resources> <xcdg:DataGridCollectionViewSource x:Key="cvs_orderdetails" Source="{Binding Source={x:Static Application.Current}, Path=OrderDetails}"> <xcdg:DataGridCollectionViewSource.StatFunctions> <xcdg:CountFunction ResultPropertyName="orderid_count" SourcePropertyName="OrderID"/> <xcdg:SumFunction ResultPropertyName="unitprice_sum" SourcePropertyName="UnitPrice"/> <xcdg:AverageFunction ResultPropertyName="unitprice_average" SourcePropertyName="UnitPrice"/> <xcdg:SumFunction ResultPropertyName="quantity_sum" SourcePropertyName="Quantity"/> </xcdg:DataGridCollectionViewSource.StatFunctions> <xcdg:DataGridCollectionViewSource.GroupDescriptions> <xcdg:DataGridGroupDescription PropertyName="ProductID"/> </xcdg:DataGridCollectionViewSource.GroupDescriptions> </xcdg:DataGridCollectionViewSource> <xcdg:StatResultConverter x:Key="valueConverter"/> </Grid.Resources> <DockPanel> <StackPanel Orientation="Horizontal" DockPanel.Dock="Top"> <TextBlock Text="Total Orders: "/> <TextBlock Text="{Binding ElementName=OrderDetailsGrid, Path=StatContext.orderid_count}"/> </StackPanel> <StackPanel Orientation="Horizontal" DockPanel.Dock="Top"> <TextBlock Text="Average Unit Price: "/> <TextBlock Text="{Binding ElementName=OrderDetailsGrid, Path=StatContext.unitprice_average, Converter={StaticResource valueConverter}, ConverterParameter=f2}"/> </StackPanel> <xcdg:DataGridControl x:Name="OrderDetailsGrid" ItemsSource="{Binding Source={StaticResource cvs_orderdetails}}" DockPanel.Dock="Bottom"> <xcdg:DataGridControl.DefaultGroupConfiguration> <xcdg:GroupConfiguration> <xcdg:GroupConfiguration.Footers> <DataTemplate> <xcdg:StatRow> <xcdg:StatCell FieldName="UnitPrice" ResultPropertyName="unitprice_sum"/> <xcdg:StatCell FieldName="Quantity" ResultPropertyName="quantity_sum"/> <xcdg:StatCell FieldName="OrderID" ResultPropertyName="orderid_count"/> <xcdg:StatCell FieldName="UnitPrice" ResultPropertyName="unitprice_average" ResultConverterParameter="f2"/> </xcdg:StatRow> </DataTemplate> </xcdg:GroupConfiguration.Footers> </xcdg:GroupConfiguration> </xcdg:DataGridControl.DefaultGroupConfiguration> </xcdg:DataGridControl> </DockPanel> </Grid>
<Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"> <Grid.Resources> <xcdg:DataGridCollectionViewSource x:Key="cvs_orderdetails" Source="{Binding Source={x:Static Application.Current}, Path=OrderDetails}"> <xcdg:DataGridCollectionViewSource.StatFunctions> <xcdg:CountFunction ResultPropertyName="orderid_count" SourcePropertyName="OrderID"/> <xcdg:AverageFunction ResultPropertyName="unitprice_average" SourcePropertyName="UnitPrice"/> </xcdg:DataGridCollectionViewSource.StatFunctions> <xcdg:DataGridCollectionViewSource.GroupDescriptions> <xcdg:DataGridGroupDescription PropertyName="ProductID"/> </xcdg:DataGridCollectionViewSource.GroupDescriptions> </xcdg:DataGridCollectionViewSource> <xcdg:StatResultConverter x:Key="valueConverter"/> </Grid.Resources> <DockPanel> <StackPanel Orientation="Horizontal" DockPanel.Dock="Top"> <TextBlock Text="Results for product "/> <TextBlock x:Name="CurrentGroupTitle" Text="{Binding Name}"/> <TextBlock Text=": "/> <TextBlock Text=" Total Orders-"/> <TextBlock x:Name="TotalOrders" Text="{Binding orderid_count}"/> <TextBlock Text=" Average Unit Price-"/> <TextBlock x:Name="AveragePrice" Text="{Binding unitprice_average, Converter={StaticResource valueConverter}, ConverterParameter=f2}"/> </StackPanel> <xcdg:DataGridControl x:Name="OrderDetailsGrid" ItemsSource="{Binding Source={StaticResource cvs_orderdetails}}" PropertyChanged="CurrentItemChanged" DockPanel.Dock="Bottom"/> </DockPanel> </Grid>
Private Sub CurrentItemChanged( ByVal sender As Object, _ ByVal e AsPropertyChangedEventArgs ) If e.PropertyName = "CurrentItem" Then If Me.OrderDetailsGrid.CurrentItem Is Nothing Then Return Dim group As CollectionViewGroup = Me.OrderDetailsGrid.GetParentGroupFromItem( Me.OrderDetailsGrid.CurrentItem ) Me.CurrentGroupTitle.DataContext = group Me.TotalOrders.DataContext = group Me.AveragePrice.DataContext = group End If End Sub
private void CurrentItemChanged( object sender, PropertyChangedEventArgs e ) { if( e.PropertyName == "CurrentItem" ) { if( this.OrderDetailsGrid.CurrentItem == null ) return; CollectionViewGroup group = this.OrderDetailsGrid.GetParentGroupFromItem( this.OrderDetailsGrid.CurrentItem ); this.CurrentGroupTitle.DataContext = group; this.TotalOrders.DataContext = group; this.AveragePrice.DataContext = group; } }
<Grid xmlns:xcdg="http://schemas.xceed.com/wpf/xaml/datagrid"> <Grid.Resources> <xcdg:DataGridCollectionViewSource x:Key="cvs_orderdetails" Source="{Binding Source={x:Static Application.Current}, Path=OrderDetails}"> <xcdg:DataGridCollectionViewSource.StatFunctions> <xcdg:CountFunction ResultPropertyName="orderid_count" SourcePropertyName="OrderID"/> <xcdg:SumFunction ResultPropertyName="unitprice_sum" SourcePropertyName="UnitPrice"/> <xcdg:AverageFunction ResultPropertyName="unitprice_average" SourcePropertyName="UnitPrice"/> <xcdg:SumFunction ResultPropertyName="quantity_sum" SourcePropertyName="Quantity"/> </xcdg:DataGridCollectionViewSource.StatFunctions> <xcdg:DataGridCollectionViewSource.GroupDescriptions> <xcdg:DataGridGroupDescription PropertyName="ProductID"/> </xcdg:DataGridCollectionViewSource.GroupDescriptions> </xcdg:DataGridCollectionViewSource> <xcdg:StatResultConverter x:Key="valueConverter"/> </Grid.Resources> <xcdg:DataGridControl x:Name="OrderDetailsGrid" ItemsSource="{Binding Source={StaticResource cvs_orderdetails}}"> <xcdg:DataGridControl.DefaultGroupConfiguration> <xcdg:GroupConfiguration> <xcdg:GroupConfiguration.Footers> <xcdg:GroupHeaderFooterItemTemplate VisibleWhenCollapsed="True"> <DataTemplate> <Border Background="#999999" BorderBrush="LightBlue" BorderThickness="3" Margin="5" > <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> </Grid.RowDefinitions> <TextBlock Text="Total Orders: " Grid.Row="0" Grid.Column="0"/> <TextBlock Text="{Binding RelativeSource={RelativeSource Self}, Path=(xcdg:DataGridControl.StatContext).orderid_count}" Grid.Row="0" Grid.Column="1"/> <TextBlock Text="Total Quantity Sold: " Grid.Row="1" Grid.Column="0"/> <TextBlock Text="{Binding RelativeSource={RelativeSource Self}, Path=(xcdg:DataGridControl.StatContext).quantity_sum}" Grid.Row="1" Grid.Column="1"/> <TextBlock Text="Total Sales: " Grid.Row="2" Grid.Column="0"/> <TextBlock Text="{Binding RelativeSource={RelativeSource Self}, Path=(xcdg:DataGridControl.StatContext).unitprice_sum}" Grid.Row="2" Grid.Column="1"/> <TextBlock Text="Average Unit Price: " Grid.Row="3" Grid.Column="0"/> <TextBlock Text="{Binding RelativeSource={RelativeSource Self}, Path=(xcdg:DataGridControl.StatContext).unitprice_average, Converter={StaticResource valueConverter}, ConverterParameter=f2}" Grid.Row="3" Grid.Column="1"/> </Grid> </Border> </DataTemplate> </xcdg:GroupHeaderFooterItemTemplate> </xcdg:GroupConfiguration.Footers> </xcdg:GroupConfiguration> </xcdg:DataGridControl.DefaultGroupConfiguration> <xcdg:DataGridControl.View> <xcdg:CardView AllowCardResize="True"/> </xcdg:DataGridControl.View> </xcdg:DataGridControl> </Grid>
Target Platforms: Windows 11, Windows, 10, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2