WPF C#获取DataGrid列的总和 [英] WPF C# Get the Total Sum of a DataGrid Column

查看:242
本文介绍了WPF C#获取DataGrid列的总和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要每一个事件被触发时(可能CelLEditEnding)来总结所有的值在DataGrid,并在标签中显示它。我有以下代码:

I need to sum all of the values in a DataGrid every time an event is fired (probably CelLEditEnding) and display it in a label. I have the following code:

private void tblData_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
    {
        double sum = 0;
        //System.Windows.MessageBox.Show(tblData.SelectedItems.Count.ToString());
        for (int i = 0; i < tblData.SelectedItems.Count; i++)
        {
            TextBlock tb = tblData.Columns[3].GetCellContent(tblData.SelectedItems[i]) as TextBlock;
            double test = Convert.ToDouble(tb.Text);
            sum = sum + test;
            lblTotal.Content = "$  " + sum.ToString();
            //System.Windows.MessageBox.Show(sum.ToString());



的问题是,只有一行受到影响,在一排实际上被概括和显示为标签是随机的。正如你可以看到我添加了一个mesage盒子,告诉我是在DataGrid,结果是1,每次行的总数。我不知道如何来解决这个问题,我很小白编程,并具有与技术术语的问题。 。任何帮助是极大的赞赏。

The problem is that only one row is affected, the one row that actually gets summed up and displayed into the label is random. As you can see I added a mesage box to show me the total number of rows that are in the DataGrid, the result is 1 every time. I don't know how to get around this issue, I am very noob to programming and have issues with the technical jargon. Any help is greatly appreciated.

推荐答案

的for(int i = 0; I< dataGrid.Items.Count ++我)
{

for (int i = 0; i < dataGrid.Items.Count; ++i) {

            sum += (decimal.Parse((dataGrid.Columns[4].GetCellContent(dataGrid.Items[i])as TextBlock).Text));





        }

这篇关于WPF C#获取DataGrid列的总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆