如果DataGridView单元格中的值为NaN或如何限制用户直到单元格中有值,如何防止崩溃?

时间:2019-05-09 23:51:58

标签: c# validation datagridview windows-forms-designer

我有一个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);

                    }

                }
            }

0 个答案:

没有答案