刷新Datagrid导致Null引用异常,因为从它更新了控件

时间:2017-06-04 17:51:02

标签: c# winforms exception datagrid refresh

我在WinForms中有一个DataGrid,用于显示Access数据库中的数据。我每次向数据库添加或编辑内容时都会创建一个刷新DataGrid的方法,但是我有一些控件,我根据DataGrid中的选定行更新,因为刷新方法,我从它们得到一个空引用异常。 / p>

这是刷新方法:

        private void refresh_mydatagrid()
    {

        this.table1TableAdapter.Fill(this.raspunsDataSet.Table1);
        this.dataGridView1.PerformLayout();
        this.dataGridView1.EndEdit();
        this.dataGridView1.Refresh();
        this.dataGridView1.Parent.Refresh();

    }

以下是基于当前所选行更新控件的方法:

  private void row_click(object sender, EventArgs e)
    {  //any of these will cause a null reference exception 
        labelT2ID.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString(); 
        comboBoxT2.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
        if (dataGridView1.CurrentRow.Cells[2].Value.ToString().Contains("Barbat"))
            radioButtonT2Barbat.Checked = true;
        else
            radioButtonT2Femeie.Checked = true;
        if (dataGridView1.CurrentRow.Cells[3].Value.ToString().Contains("Da"))
            radioButtonT2R1Da.Checked = true;
        else
            radioButtonT2R1Nu.Checked = true;
        if (dataGridView1.CurrentRow.Cells[4].Value.ToString().Contains("Da"))
            radioButtonT2R2Da.Checked = true;
        else
            radioButtonT2R2Nu.Checked = true;
        if (dataGridView1.CurrentRow.Cells[5].Value.ToString().Contains("Da"))
            radioButtonT2R3Da.Checked = true;
        else
            radioButtonT2R3Nu.Checked = true;
        if (dataGridView1.CurrentRow.Cells[6].Value.ToString().Contains("Da"))
            radioButtonT2R4Da.Checked = true;
        else
            radioButtonT2R4Nu.Checked = true;
    }

我还使用选定的行来获取数据库中要编辑的条目的ID,这样我就需要它。我怎么能绕过这个?

0 个答案:

没有答案