计算Datagrid中特定列的总价值

本文关键字:总价值 Datagrid 计算 | 更新日期: 2023-09-27 18:04:22

我试图获得值在列SellingPrice在我的datagrid。我该如何计算c#编码的总数量呢?

    <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我想在标签

中显示Total Amount

在View Model中创建一个只读属性:

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

你可以给这个属性绑定一个标签:

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

计算Datagrid中特定列的总价值

我假设你有一个项目列表,并将其绑定到DataGridItemsSource。此外,我假设您有一个名为_labelLabel。然后你的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;
    }
}