C# 循环遍历datagridview中的所有单元格
这是我的代码:C# 循环遍历datagridview中的所有单元格,c#,graphics,datagridview,C#,Graphics,Datagridview,这是我的代码: private void button1_Click(object sender, EventArgs e) { Graphics g = this.CreateGraphics(); Pen p = new Pen(Brushes.Blue); foreach (DataGridViewRow dr in dataGridView1.Rows) { float p1x = float
private void button1_Click(object sender, EventArgs e)
{
Graphics g = this.CreateGraphics();
Pen p = new Pen(Brushes.Blue);
foreach (DataGridViewRow dr in dataGridView1.Rows)
{
float p1x = float.Parse(dr.Cells["p1x"].Value.ToString());
float p1y = float.Parse(dr.Cells["p1y"].Value.ToString());
float p2x = float.Parse(dr.Cells["p2x"].Value.ToString());
float p2y = float.Parse(dr.Cells["p2y"].Value.ToString());
g.DrawEllipse(p, p1x, p1y, 10, 10);
g.DrawEllipse(p, p2x, p2y, 10, 10);
g.FillEllipse(Brushes.Black, p1x, p1y, 10, 10);
g.FillEllipse(Brushes.Black, p2x, p2y, 10, 10);
g.DrawLine(p, p1x, p1y, p2x, p2y);
}
}
在执行上述代码时,我得到运行时异常“对象引用未设置为对象的实例”
请帮助。您的一个单元格很可能有空值,即
dr.Cells[“p1x”]。值==null
您不能在
null
上使用ToString()
,因此会出现该错误。那么,哪个对象是null?在其中插入一个断点,看看抛出哪一行,以及是否有任何变量为null。其中一个单元格值为null。@KingKing完全正确,先生,这是我刚刚发现的。如何在异常出现之前检测空单元格值?@RuchirSharma您可以使用一些if
语句来检查它是否为null
,也可以使用简短的语法:(dr.Cells[“p1x”].value???“0”).ToString()