需要帮助创建查找所选单元格值的DataGridView

时间:2017-11-20 17:39:03

标签: c# datagridview

我对编程很新,而且遇到了一些麻烦。我需要创建一个循环来计算我的数据网格中的所有行,然后执行if语句来检查单元格值。我想保留自动生成列。

这是我到目前为止的代码

 private void button2_Click(object sender, EventArgs e)
    {

        for (int x = 0; x < dataGridView2.Rows.Count -1; x++)
        {
            int m = Convert.ToInt32(dataGridView2.SelectedRows[x].Cells[2].Value);

            if (m == 1)
            {
                MessageBox.Show("Code 1");

            }

            if (m ==2 )
            {
                MessageBox.Show("Code 2");
            }
        }

    }

检查单元格2是否为1的第一个if语句正常工作。但是,当我添加另一行时,它会给出“Code 2”消息框,但会崩溃(索引超出范围。必须是非负数且小于集合的大小)。

鉴于我有自动列生成,我的for语句不会保留所选行的值吗?

任何帮助都会很棒!谢谢你们:)

1 个答案:

答案 0 :(得分:0)

感谢Crowcoder。我误解了.SelectedRows做了什么。

这是我的固定代码

 private void button2_Click(object sender, EventArgs e)
    {

        for (int x = 0; x < dataGridView2.Rows.Count -1; x++)
        {
            int m = Convert.ToInt32(dataGridView2.Rows[x].Cells[2].Value);
            if (dataGridView2.Rows[x].Selected)
            {
                if (m == 1)
                {
                    MessageBox.Show("Code 1");

                }

                if (m == 2)
                {
                    MessageBox.Show("Code 2");
                }

            }

        }

    }