1

我一直在考虑什么是做我的 datagridview 数学的最佳方法。我有这个datagridview,我需要逐行将列“castka”与počet“相乘,然后+下一行,然后+下一行,直到最后Im,然后在textBox中显示最终值。因为我是初学者c# 和 sql 我想先和你讨论这个。(欢迎代码:))

太感谢了。

这就是我的桌子的样子。

有人会给我推荐一些东西吗?

在此处输入图像描述

 void calculateProductTwoColumns(int castkaIndex, int pocetIndex)
    {
        double[] outVals = new double[tot_rows + 1]; //Array including product of both columns per row
        int curRow = 0;
        foreach (DataGridViewRow row in dtg_ksluzby.Rows)
        {
            curRow = curRow + 1;
            outVals[curRow] = (double)row.Cells[4].Value * (double)row.Cells[6].Value;
          //  MessageBox.Show(""+ outVals.ToString());
            kpriplac.Text = outVals.ToString();
        }

    }

这就是我在 form_load 上的称呼

 calculateProductTwoColumns( 4, 6);
4

1 回答 1

1

DataGridView是用于数据显示目的的控件;如果您想执行任何类型的数学运算,您必须创建一个算法来检索数据并执行计算。如果您从数据库中获取数据,则依靠查询来执行操作会更快。遍历单元格并不太困难,写入 a TextBox; dataGridView1在这里,您有一个执行两个操作(介于和之间)的示例函数textBox1

private void calculateSumColumn(int curColumn)
{
    double valueCurColumn = 0;
    foreach (DataGridViewRow row in dataGridView1.Rows)
    {
         valueCurColumn = valueCurColumn + (double)row.Cells[curColumn].Value;
    }

    textBox1.Text = valueCurColumn.ToString();
}

适用于您的具体情况:

private void calculateProductTwoColumns(int castkaIndex, int pocetIndex, int tot_rows)
{
    double[] outVals = new double[tot_rows + 1]; //Array including product of both columns per row
    int curRow = 0;
    foreach (DataGridViewRow row in dataGridView1.Rows)
    {
         curRow = curRow + 1;
         outVals[curRow] = (double)row.Cells[castkaIndex].Value * (double)row.Cells[pocetIndex].Value;
    }

}
于 2013-07-20T08:58:29.650 回答