Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在datagridview中计算相似单元格值的和_C#_Mysql_Datagridview - Fatal编程技术网

C# 在datagridview中计算相似单元格值的和

C# 在datagridview中计算相似单元格值的和,c#,mysql,datagridview,C#,Mysql,Datagridview,在这里,在这个datagridview中,我想计算类似部门的总和 也就是说,如果部门在第一行是架构,并且其TMH单元格在datagridview下面的值是36 然后在第二排我的部门是设计部,它的TMH单元值是45 我再次选择了第三排的建筑部门,它的TMH值现在是45 这是我的密码 private void ProjectActivitiesGrid_CellEndEdit(object sender, DataGridViewCellEventArgs e) {

在这里,在这个
datagridview
中,我想计算类似部门的总和

也就是说,如果部门在第一行是架构,并且其
TMH
单元格在
datagridview
下面的值是36

然后在第二排我的部门是设计部,它的TMH单元值是45

我再次选择了第三排的建筑部门,它的TMH值现在是45

这是我的密码

           private void ProjectActivitiesGrid_CellEndEdit(object sender, DataGridViewCellEventArgs e)
    {
        Decimal sum = 0;

        #region THM CALCULATION.

        int column = ProjectActivitiesGrid.CurrentCell.ColumnIndex;
        string headerText = ProjectActivitiesGrid.Columns[column].HeaderText;

        DataGridViewRow d = this.ProjectActivitiesGrid.Rows[e.RowIndex];

        String department = d.Cells[0].Value.ToString();

            String chk = m_Project.projdepthrs.Where(c => c.DEPARTMENT == department).Select(c => c.DEPARTMENT).FirstOrDefault();

            if (chk == null)
            {
                MessageBox.Show("Please fill up department alloted hrs first");
                d.Cells[1].ReadOnly = true;
                d.Cells[2].ReadOnly = true;
                d.Cells[3].ReadOnly = true;
                d.Cells[4].ReadOnly = true;
                d.Cells[5].ReadOnly = true;
                d.Cells[6].ReadOnly = true;
                d.Cells[7].ReadOnly = true;

            }
            else
            {
                d.Cells[1].ReadOnly = false;
                d.Cells[2].ReadOnly = false;
                d.Cells[3].ReadOnly = false;
                d.Cells[4].ReadOnly = false;
                d.Cells[5].ReadOnly = false;
                d.Cells[6].ReadOnly = false;
                d.Cells[7].ReadOnly = false;

                String tmh = m_Project.projdepthrs.Where(c => c.DEPARTMENT == department).Select(c => c.TMH).First();
                LBLAllotedhrs.Text = tmh;
                LBLLefthrs.Text = tmh;
            }


               foreach (DataGridViewRow rw in ProjectActivitiesGrid.Rows)
               {
                       if (department == d.Cells[0].Value.ToString())
                           sum = sum + Convert.ToInt32(d.Cells[5].Value);
                       else
                           sum = 0;

               }
                LBLLefthrs.Text = (Convert.ToInt32(LBLLefthrs.Text) - Convert.ToInt32(sum)).ToString(); 

        #endregion


    }
那么,如果我的第1行和第3行有类似的部门下拉列表,我如何才能得到我的总和为36+45


我需要这种情况的逻辑。

因此,如果我理解正确,您需要如下内容:

var result = m_Project.projdepthrs.Where(md=> md.DEPARTMENT == department)
                                    .Sum(ms=> Convert.ToInt32(ms.TMH));

如果我有误解,请发表评论。

因此,如果我理解正确,您需要类似以下内容:

var result = m_Project.projdepthrs.Where(md=> md.DEPARTMENT == department)
                                    .Sum(ms=> Convert.ToInt32(ms.TMH));

如果我有误解,请发表评论。

请添加您已经尝试过的东西的代码。一个带有值的示例设置也会很有帮助;您在哪里定义
m_Project
?m_Project是我的实体上下文…我从中访问表对象。因此,如果我要重申您的问题,您想在您的上下文中查询
projdepthrs
表中所有与部门相等的部门,并对
TMH
列中的值求和?请添加您已经尝试过的代码。一个带有值的示例设置也会很有帮助;您在哪里定义
m_Project
?m_Project是我的实体上下文…我从中访问表对象。因此,如果我要重申您的问题,您希望在您的上下文中查询与部门相等的所有部门的
projdepthrs
表,并将
TMH
列中的值相加?