【问题标题】:c# read a fields value from a row in a datagridview loopingc# 从datagridview循环中的一行读取字段值
【发布时间】:2011-11-29 19:41:11
【问题描述】:

好的,所以我有一个 lil 函数,它将从 datagridview 的每一行中的字段中获取一个值............ 然后查看值是什么并计算相应的增量。

这是目前的代码:

    private void countParetoQty(int top, int tmid, int bmid, int bot )
    {
        //bunch of Ifs to count a record thats certain pareto

        foreach(DataGridViewRow row in dataGridView1)
        {
            if(//current row @ pareto <=50)
            {
                //top 50
                top++;
            }
            else 
                if()
                {
                    //50-100
                    tmid++;
                }
                else
                    if()
                    {
                        //100-200
                        bmid++;
                    }
                    else
                    {
                        //its over 200!!!!!!!!!!!!!!
                        bot++;
                    }
        }

如您所见,我需要检查每一行上的字段值“Pareto”,并循环执行一些 If 语句以增加正确的 int。 我需要知道我如何获得我正在寻找一个循环的价值。 我按照 foreach 循环的思路思考,然后按当前行 column.value 进行调节? 非常感谢!

【问题讨论】:

    标签: c# winforms datagridview foreach


    【解决方案1】:

    您可以按如下方式访问单元格值:

    row.Cells["FiledName"].Value
    

    或按索引

    row.Cells[0].Value
    

    【讨论】:

    • 我对此有一种有趣的感觉,所以我使用的逻辑和方法对吗?还是有更好的方法?
    • 是的,使用 int.parse(Row.Cells["Pareto"].Value.toString()) 将其转换为 int 或将值解析为 int
    • 是的,我使用演员表似乎效果很好!非常感谢,知道这很简单
    【解决方案2】:

    你可以像这样获取 Pareto Column 的值:

      int testValue = Row.Cells["Pareto"].Value;
    

    假设您已经拥有该行,并且该帕累托是一个整数。

    我也可以使用开关而不是嵌套的 ifs。

    【讨论】:

    • idd,我使用 (int) row.cells["Pareto"].value 将对象转换为 int。你可能会转换为考虑它的开关。
    猜你喜欢
    • 1970-01-01
    • 2018-02-27
    • 2023-03-05
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 2021-03-27
    • 1970-01-01
    相关资源
    最近更新 更多