Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.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# 在计算datagradview中的列和时,请避免使用该静态数字_C#_Datagridview - Fatal编程技术网

C# 在计算datagradview中的列和时,请避免使用该静态数字

C# 在计算datagradview中的列和时,请避免使用该静态数字,c#,datagridview,C#,Datagridview,我使用下面的代码计算datagridview 我担心代表汇总列索引的静态数字“3”是否存在避免该静态数字的方法,因此它将始终计算同一列的总和 private double TOTAL_INV() { double Total = 0; for (int i = 0; i < DGV_INVOICE.Rows.Count; ++i) { double num = 0; doubl

我使用下面的代码计算
datagridview
我担心代表汇总列索引的静态数字“3”是否存在避免该静态数字的方法,因此它将始终计算同一列的总和

    private double TOTAL_INV()
    {
        double Total = 0;

        for (int i = 0; i < DGV_INVOICE.Rows.Count; ++i)
        {
            double num = 0;
            double.TryParse(DGV_INVOICE.Rows[i].Cells[3].Value.ToString(),out num);
            Total+=num;
        }
        return Total;
    }
private double TOTAL_INV()
{
双倍合计=0;
对于(int i=0;i
列号需要来自某个地方,无论是硬编码还是以其他方式配置。不过,你能做的是让它更可见

例如,您可以创建一个对任何列进行合计的方法,如下所示:

private double TotalColumn(int col) {
    double Total = 0;
    for (int i = 0; i < DGV_INVOICE.Rows.Count; ++i) {
        double num = 0;
        if (double.TryParse(DGV_INVOICE.Rows[i].Cells[col].Value.ToString(), out num)) {
            Total+=num;
        }
    }
    return Total;
}

您可以使用列字段名作为字符串,或者使用bindingSource生成的列属性(如果您正在使用),DataGridView是否绑定到某个后端数据源?你能从中得到列索引吗?@VitorRigoni不,我没有使用datagridview作为绑定源,我正在向datagridview添加记录,然后在所有过程之后,我将数据插入oracledatabase@DStanley正如我对VitorRigoni所说的,我正在向datagridview添加记录,然后在所有过程之后,我将数据插入到oracle数据库中,我认为这是正确的比用户每次修改或交易时打开和关闭连接以及断开连接更好。。。所以我想我不能接受你的建议
const int invoiceColumn = 3;
...
var total = TotalColumn(invoiceColumn);