我在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,这样我就需要它。我怎么能绕过这个?