我有这种方法将数据从DataGridView传递给Model:
for (rows = 0; rows < CView.dataGridView1.Rows.Count; rows++)
{
if (CView.dataGridView1.Rows[rows].Cells[col].Value != null)
{
// Creates a model, then populates each field from the cells in the table.
SModel = new SupplierID_Model();
SModel.Xsec = Convert.ToDouble(CView.dataGridView1.Rows[rows].Cells[0].Value);
SModel.Insulation = Convert.ToString(CView.dataGridView1.Rows[rows].Cells[1].Value);
// etc...
// Passes the model into the Database.
}
else
{
// Passes the empty fields into dummy variables to avoid null entries in the Db.
suppPartNo = string.Empty;
xSec = string.Empty;
insul = string.Empty;
// etc...
}
}
我知道在这个特定实例中的问题是我在DataGridView的底部有两个空行,这导致else
无法正确实现。它只是回到SModel.Xsec = Convert.ToDouble...
并说“输入字符串的格式不正确”。
编辑:我还尝试使用while
循环,但这会在最后一个以0
开头的条目中进行,并继续循环。也就是说,它会无限期地继续输入相同的值,而不会进入表的其余部分。
有没有更好的方法来实现更多错误(空字段)?