Quantcast
Channel: CSharp Forum Latest Questions
Viewing all articles
Browse latest Browse all 32059

How to calculate totals of wpf datagrid column with dataset

$
0
0
I am trying to figure out what is the best way to calculate a total value of DataGrid column in wpf, I´m using dataset to display data from SQL server in my Resources(DataTemplate) & bind it to datagrid like below:

DataTemplate:
<ResourceDictionaryxmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"x:Class="AgamistaStore.Resources.DataTemplatesClass"xmlns:myClasses="clr-namespace:AgamistaStore.Classes"><myClasses:TablesStateConverterx:Key="TablesStateConverter"/><myClasses:OrderItemNotEditableStateConverterx:Key="NotEditableStateConverter"/><!-- ProductName column --><DataTemplatex:Key="NotEditableStateColumnTemplate"><ImageHeight="20"Width="20"Source="{Binding Path=NotEditable, 
                Converter={StaticResource NotEditableStateConverter}, Mode=Default}"HorizontalAlignment="Stretch"/></DataTemplate><!-- Barcode column --><DataTemplatex:Key="ProductBarcodeColumnTemplate"><TextBlockFontFamily="Tahoma"FontSize="14"Text="{Binding Path=ProductBarcode}"HorizontalAlignment="Stretch"Foreground="#FF44544A"/></DataTemplate><!-- ProductName column --><DataTemplatex:Key="ProdNameColumnTemplate"><TextBlockFontFamily="Tahoma"FontSize="14"Text="{Binding Path=ProductName}"HorizontalAlignment="Stretch"Foreground="#FF44544A"/></DataTemplate><!-- Price column --><DataTemplatex:Key="PriceNameColumnTemplate"><TextBlockx:Name="SalePrice"FontFamily="Tahoma"FontSize="14"HorizontalAlignment="Stretch"Text="{Binding Path=SalePrice, StringFormat={}{0:#.##}}"Foreground="#FF44544A"/></DataTemplate><!-- Quntity column --><DataTemplatex:Key="QuntityColumnTemplate"><TextBoxx:Name="txtQuntity"Tag="{Binding}"PreviewTextInput="txtQuntity_PreviewTextInput"Style="{StaticResourceTextBoxStyle}"Height="20"Foreground="#FF0A421F"FontFamily="Tahoma"FontSize="14"Text="{Binding Path=SoldQuantity}"HorizontalAlignment="Stretch"/></DataTemplate></ResourceDictionary>

MainWindow:
<BorderGrid.Column="1"CornerRadius="6,6,6,6"BorderThickness="1,1,1,1"BorderBrush="#FFBCC7BB"Margin="9,10,8,10"x:Name="borderDetails"><GridHorizontalAlignment="Left"Width="439"Margin="0,0,0,0"VerticalAlignment="Top"Height="397"Visibility="Visible"><Grid.RowDefinitions><RowDefinitionHeight="352*"/><RowDefinitionHeight="45*"/></Grid.RowDefinitions><!--bill details --><myClasses:SortableListViewMargin="9,6,6,0"Height="auto"BorderBrush="{x:Null}"Background="{x:Null}"ScrollViewer.VerticalScrollBarVisibility="Auto"ScrollViewer.HorizontalScrollBarVisibility="Auto"AllowDrop="True"VirtualizingStackPanel.IsVirtualizing="True"ScrollViewer.CanContentScroll="True"SelectionMode="Single"IsSynchronizedWithCurrentItem="True"ItemContainerStyle="{DynamicResource RestaurantEditListViewItemStyle}"Style="{DynamicResourceRestaurantEditListViewStyle}"IsEnabled="True"HorizontalAlignment="Stretch"VerticalAlignment="Top"x:Name="gvOrderDetails"><myClasses:SortableListView.View><GridViewAllowsColumnReorder="False"><GridViewColumnWidth="4"HeaderContainerStyle="{DynamicResource FirstColumnGridViewColumnHeader}"CellTemplate="{StaticResource EmptyColumnTemplate}"/><GridViewColumnWidth="8"CellTemplate="{StaticResource NotEditableStateColumnTemplate}"HeaderContainerStyle="{DynamicResource RestaurantDataGridViewColumnHeader}"/><myClasses:SortListViewColumnHeader="??? ?????"SortProperty="ProductBarcode"Width="80"CellTemplate="{StaticResource ProductBarcodeColumnTemplate}"SortStyle="RestaurantDataGridViewColumnHeader"HeaderContainerStyle="{DynamicResource RestaurantDataGridViewColumnHeader}"/><myClasses:SortListViewColumnHeader="???? ????????"SortProperty="ProductName"Width="200"CellTemplate="{StaticResource ProdNameColumnTemplate}"SortStyle="RestaurantDataGridViewColumnHeader"HeaderContainerStyle="{DynamicResource RestaurantDataGridViewColumnHeader}"/><myClasses:SortListViewColumnHeader="?????"SortProperty="SalePrice"CellTemplate="{StaticResource PriceNameColumnTemplate}"Width="60"SortStyle="RestaurantDataGridViewColumnHeader"HeaderContainerStyle="{DynamicResource RestaurantDataGridViewColumnHeader}"/><myClasses:SortListViewColumnHeader="??????"SortProperty="UnitName"Width="50"CellTemplate="{StaticResource QuntityColumnTemplate}"SortStyle="RestaurantDataGridViewColumnHeader"HeaderContainerStyle="{DynamicResource RestaurantDataGridViewColumnHeader}"/><GridViewColumnWidth="4"CellTemplate="{StaticResource EmptyColumnTemplate}"HeaderContainerStyle="{DynamicResource LastColumnGridViewColumnHeader}"/></GridView></myClasses:SortableListView.View></myClasses:SortableListView>


Now I want to get the total sum (which is sum(SalePrice*SoldQuantity)  to display in textbox, And SoldQuantity value can changed by user

for example:

Barcode   ProductName     Price    Quantity 

S1P3C34   T-shirt                  150             1


The Total Amount which will appear in textbox must be (150*1) 150

If the user change the value of quantity to 3 , I want Total Amount value changed automatically to be (150*3) 450 

What is the best practice to do this ?

Thanks,


Viewing all articles
Browse latest Browse all 32059

Trending Articles