我得到第三列的所有行“一”!!

时间:2014-06-14 22:56:14

标签: c# button datagridview

我有一个dataGridView和一个按钮,当我按下按钮时,每行的第三个单元格包含值“1”,但我希望只有包含数据的行应该包含“1” 在第三栏。 我尝试使用此代码进行测试,但结果显示在图像中:

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;
                            }


                        }
                    }
                }
            }
        }

结果: enter image description here

感谢帮助

1 个答案:

答案 0 :(得分:1)

也许这会有所帮助:

 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)
                        {
                            string st = Convert.ToString(dataGridView1.Rows[i].Cells[2].Value);
                            if (cell.Value == null && st == "0")
                            {
                                dataGridView1.Rows[i].Cells[2].Value = 1;                                
                            }
                            else  //if (string.IsNullOrEmpty( cell.Value.ToString()))
                            {                                
                                break;                                
                            }
                        }
                    }
                }
            }            
        }

修改

我不确定某些事情应该像你一样以这种方式完成,这个项目的结果是什么。但我修改并调试了它现在正在运行的代码,我希望它会有所帮助