我有一个DataGridview,用户在第一列中输入一个值,第二列计算一个答案,然后将两者都绘制在图表上。
当前,第二列中的值是在按下“计算按钮”之后计算出来的。
但是,如果用户在第一列的第一个单元格中输入了任何值之前按下了按钮,则第二列的单元格中的计算值将显示为“ NaN”,并且当以下代码运行时,应用程序将崩溃还是删除了下面的代码,导致“生成图表按钮”崩溃?
我是C#和总体编程的新手,所以我不确定如何防止这种情况的发生(可能是通过验证)。
这是我目前尝试过的内容(下面的代码),但是我收到“ System.ArgumentOutOfRangeException:'索引超出范围”。
foreach (DataGridViewRow rw in this.dataGridView3.Rows)
{
for (int G = 0; G < rw.Cells.Count; G++)
{
if (rw.Cells[G].Value == null || rw.Cells[G].Value == DBNull.Value || String.IsNullOrWhiteSpace(rw.Cells[G].Value.ToString()) || double.IsNaN(Convert.ToDouble(dataGridView1.Rows[G].Cells[1].Value)))
{
MessageBox.Show("Please compute Vulnerabiltiy Curve Points!");
}
else
{
chart1.Series["V-curve"].Points.AddXY(dataGridView3.Rows[G].Cells[1].Value, dataGridView3.Rows[G].Cells[0].Value);
}
}
}