如何更改DataGridView中的数据行的值(不是所有行)

时间:2014-06-08 21:58:53

标签: c# datagridview lines datagridviewcolumn

如何更改dgv的第三个colomn中的数据行的值, 使用此代码,我可以更改dgv第三列中所有行的值,但我只想要有数据的行。

private void button4_Click(object sender, EventArgs e)
        {
            DateTime dt = DateTime.Now;
            dataGridView1.Rows.Add("" + dt.Year.ToString() + "", "En cours", "0");


            if (dataGridView1.SelectedRows.Count == 1)
            {
                DataGridViewRow row = dataGridView1.SelectedRows[0];

                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                   // int ik = (int)dataGridView1.Rows[i].Cells[3].Value;
                    dataGridView1.Rows[i].Cells[2].Value = 1;

                }
            }

我该怎么做?

编辑: 我尝试测试行中每个单元格的值,如果它为null我将打破foreach:

private void button4_Click(object sender, EventArgs e)
        {
            DateTime dt = DateTime.Now;
            dataGridView1.Rows.Add("" + dt.Year.ToString() + "", "En cours", "0");


            if (dataGridView1.SelectedRows.Count == 1)
            {
                DataGridViewRow row = dataGridView1.SelectedRows[0];

                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    // int ik = (int)dataGridView1.Rows[i].Cells[3].Value;
                    foreach (DataGridViewRow row1 in dataGridView1.Rows)
                    {
                        foreach (DataGridViewCell cell in row1.Cells)
                        {
                            if (cell.Value != null)
                            {
                                dataGridView1.Rows[i].Cells[2].Value = 1;
                            }
                            else  //if (string.IsNullOrEmpty( cell.Value.ToString()))
                            {
                                break;
                            }


                        }
                    }
                }
            }
        }

但我不知道为什么我仍然有相同的结果所有行在dataGridView中都有值“1” 任何帮助恳求?

0 个答案:

没有答案