【问题标题】:Calculating 2 datagridview columns must be the same number of rows计算 2 个 datagridview 列必须是相同的行数
【发布时间】:2018-05-24 12:49:11
【问题描述】:

我有 2 个数据网格视图,一个用于购买,一个用于销售

我将销售总额相加并从中减去购买总额。

问题是,它只会在两个 datagridviews 的行数相同的情况下进行计算,如果其中一个的行数比另一个多,它不会在应该显示的文本框中给出任何值结果

这是我的代码

private void GrossSale()
{
    int sum = 0;
    for (int i = 0; i < dataGridView1.Rows.Count; ++i)
    {
        sum += Convert.ToInt32(dataGridView1.Rows[i].Cells[2].Value);
    }
    txtGrossSale.Text = sum.ToString();
}
private void NetSale()
{
    int sum2 = 0;
    for (int i = 0; i < dataGridView1.Rows.Count; ++i)
    {
        sum2 += Convert.ToInt32(dataGridView1.Rows[i].Cells[3].Value);
    }
    txtNetSale.Text = sum2.ToString();
}
private void GrossPurchase()
{
    int sum3 = 0;
    for (int i = 0; i < dataGridView2.Rows.Count; ++i)
    {
        sum3 += Convert.ToInt32(dataGridView2.Rows[i].Cells[2].Value);
    }
    txtGrossPurchase.Text = sum3.ToString();
}
private void NetPurchase()
{
    int sum4 = 0;
    for (int i = 0; i < dataGridView2.Rows.Count; ++i)
    {
        sum4 += Convert.ToInt32(dataGridView2.Rows[i].Cells[3].Value);
    }
    txtNetPurchase.Text = sum4.ToString();
}
private void TotalGross()
{
    int sum5 = 0;
    int sum6 = 0;
    int sum7 = 0;
    for (int i = 0; i < dataGridView2.Rows.Count; ++i)
    {
        sum5 += Convert.ToInt32(dataGridView1.Rows[i].Cells[3].Value);
        sum6 += Convert.ToInt32(dataGridView2.Rows[i].Cells[3].Value);
    }
    sum7 = sum5 + sum6;
    txtGross.Text = sum7.ToString();
}

【问题讨论】:

  • 也许改用Compute
  • 感谢@JacobH 的回复,我还应该在计算中使用 For 吗?
  • 你有数据表吗?那是关键。如果这样做,那么您只需创建 2 个整数,计算值然后减去整数。不需要循环。如果您没有数据表,请查看下面的@Mark 答案。
  • 或者哎呀,也许只是绑定一个数据表而忘记循环计算。 stackoverflow.com/a/3779835/7948962

标签: c# ms-access


【解决方案1】:

看看 TotalGross()。您正在循环 dataGridView2.Rows.Count,但正在循环内同时访问 dataGridView1.Rows[i] 和 dataGridView2.Rows[i]...

【讨论】:

  • 所以我应该为每个datagridview使用For循环然后计算
  • 解决了问题,谢谢
  • 没错,你分别循环遍历每一个。
猜你喜欢
  • 1970-01-01
  • 2016-03-17
  • 2015-03-06
  • 2017-07-10
  • 2017-12-10
  • 1970-01-01
  • 1970-01-01
  • 2012-08-24
  • 1970-01-01
相关资源
最近更新 更多