我想将数据从DataGridView传输到另一个,这是我的代码示例:
private void btnShow(object sender, EventArgs e)
{
DataTable dtr = new DataTable();
dtr.Columns.Add(new DataColumn("Name", typeof(string)));
dtr.Columns.Add(new DataColumn("Label", typeof(string)));
dtr.Columns.Add(new DataColumn("Domain", typeof(string)));
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
DataRow erow = dtr.NewRow();
erow[0] = dataGridView1.Rows[i].Cells[0].Value.ToString();
erow[1] = dataGridView1.Rows[i].Cells[1].Value.ToString();
erow[2] = dataGridView1.Rows[i].Cells[2].Value.ToString();
dtr.Rows.Add(erow);
}
dataGridView2.DataSource = dtr;
}
我仍在第11行收到NullReferenceException
。
答案 0 :(得分:2)
您的一个或多个单元格包含NULL值 您读取该NULL值,然后尝试在NULL引用上调用方法ToString() 当然,这会因提到的异常而失败
所以,如果你想在空
的情况下存储一个空字符串erow[0] = dataGridView1.Rows[i].Cells[0].Value == null ?
string.Empty : dataGridView1.Rows[i].Cells[0].Value.ToString();
erow[1] = dataGridView1.Rows[i].Cells[1].Value == null ?
string.Empty : dataGridView1.Rows[i].Cells[1].Value.ToString();
erow[2] = dataGridView1.Rows[i].Cells[2].Value == null ?
string.Empty : dataGridView1.Rows[i].Cells[2].Value.ToString();;