c# - 如果 DataGridView 单元格中的值为 NaN,如何防止崩溃,或者限制用户直到单元格中有值?
问题描述
我有一个 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);
}
}
}
解决方案
推荐阅读
- gradle - 如何在 Gradle 中获取原始 Run 任务的精确副本?
- google-app-engine - 应用程序不要从 index.jsp 开始,因为它在 web.xml 中声明
在 GCloud 上部署后 - python - 如何在 Anaconda 中安装 pytube3?
- sharepoint - 在 SPFx 中使用 Graph API 在 sharepoint 中创建列表项
- reactjs - Firebase 服务仅显示 React 应用程序的空白页面
- vba - 如果宏在调用 VBS 时抛出错误,如何安全退出 EXCEL
- php - 教义不同计数
- javascript - 如何减去两个日期并获得 HTML 中的差异
- windows - 在 CMD 中键入这些 windows 命令的最佳方法是什么?
- terraform - Terraform local-exec 无法在后台运行命令