网格视图中的项目详细信息

时间:2015-07-12 03:31:40

标签: c# datagridview

我想通过按钮点击从datagridview中的文本框中获取数据,所以我编写了下面的代码,但是它给出了一个错误:

  

obect引用未设置为对象的实例

private void button1_Click(object sender, EventArgs e)
{
    for (int i = 0; i < dataGridView1.Columns.Count; i++)
    {
        this.dataGridView2.CurrentRow.Cells[i].Value = textBox3.Text;
        this.dataGridView2.CurrentRow.Cells[i].Value = textBox4.Text;
        this.dataGridView2.CurrentRow.Cells[i].Value = textBox5.Text;
    } 
}

1 个答案:

答案 0 :(得分:0)

this.dataGridView2.CurrentRow的实例是null

在使用CurrentRow

之前添加对null的检查
private void button1_Click(object sender, EventArgs e)
{
    if (this.dataGridView2.CurrentRow == null)
        return;
    for (int i = 0; i < dataGridView1.Columns.Count; i++)
    {
        this.dataGridView2.CurrentRow.Cells[i].Value = textBox3.Text;
        this.dataGridView2.CurrentRow.Cells[i].Value = textBox4.Text;
        this.dataGridView2.CurrentRow.Cells[i].Value = textBox5.Text;
    }
} 

正如@Alex在此代码的注释中提到的那样,您在同一个单元格中设置了三个值,因此最后一个值会覆盖以前的值