2015-07-24 1 views
0

Я пытаюсь получить сумму значений общей в колонке SellingPrice в моем datagrid. Как мне подсчитать общую сумму в кодировке C#?Подсчет общих значений определенного столбца в моем Datagrid

<DataGrid.Columns> 
     <DataGridTextColumn Binding="{Binding ItemId}" Header="id" MinWidth="20" MaxWidth="100" IsReadOnly="True"/> 
     <DataGridTextColumn Binding="{Binding ItemCode}" Header="Code" MinWidth="100" MaxWidth="120" IsReadOnly="True"/> 
     <DataGridTextColumn Binding="{Binding ItemDescription}" Header="Description" MinWidth="280" MaxWidth="360" IsReadOnly="True"/> 
     <DataGridTextColumn Binding="{Binding ItemSellingPrice}" Header="Selling Price" MinWidth="120" MaxWidth="120" IsReadOnly="True"/> 
     <DataGridTextColumn Header="QTY" MinWidth="120" MaxWidth="120" IsReadOnly="False"/> 
    </DataGrid.Columns> 

Если вам нужна дополнительная информация о моем коде/классах, которые я использую, не стесняйтесь спрашивать. Я дам его, как только смогу :) Спасибо.

EDIT Я хочу, чтобы отобразить общую сумму в ярлыке

+0

Получите общее количество, но каким образом? Вы хотите иметь еще один столбец с суммой чего-то или что? – MajkeloDev

+0

Спасибо, что ответ! Я хочу отобразить общую сумму на ярлыке. – CareTaker22

+0

Просто пройдите через источник данных и сумму ItemSellingPrice – Paparazzi

ответ

4

В вашей модели представления, создать свойство только для чтения:

public double SumOfSomething 
{ 
    get 
    { 
     return YourCollection.Sum(x => x.ItemSellingPrice); 
    } 
} 

Вы можете связать метку с этим имущество:

<label Content="{Binding SumOfSomething}"/> 
+0

@Mike Eason - спасибо за редактирование :) – MajkeloDev

2

Я предполагаю, что у вас есть список предметов и привязывайте их к ItemsSource вашего DataGrid. Кроме того, я предполагаю, что у вас есть Label с именем _label. Тогда ваш C# выглядит следующим образом:

public class Item 
{ 
    public int ItemId { get; set; } 
    public int ItemCode { get; set; } 
    public string ItemDescription { get; set; } 
    public double ItemSellingPrice { get; set; } 
    public int QTY { get; set; } 
} 

public class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 

     var items = new List<Item>(); 
     _dataGrid.ItemsSource = items; 
     var totalAmount = items.Sum(i => i.ItemSellingPrice); 
     _label.Content= totalAmount; 
    } 
} 
+0

Исправить без MVVM. + – MajkeloDev

Смежные вопросы