При вычислении 2 столбцов таблицы данных должно быть одинаковое количество строк - PullRequest
0 голосов
/ 24 мая 2018

У меня есть 2 вида сетки данных, один для покупок и один для продаж

Я суммирую общую сумму продаж и вычитаю из нее сумму покупок.

проблема в том, чтовычисление выполняется только в том случае, если количество строк в обоих представлениях данных одинаково, если в одной из них больше строк, чем в другой, в текстовом поле не будет указано значение, в котором должен отображаться результат

код

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();
}

1 Ответ

0 голосов
/ 24 мая 2018

Посмотрите на TotalGross ().Вы перебираете dataGridView2 .Rows.Count, но обращаетесь к обоим dataGridView1 .Rows [i] И dataGridView2.Rows [i] внутри цикла ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...