我将在 DGV 中输入的值保存到列表<T
>;它们是十进制值或什么都没有(空)。如果为空,我希望它们被视为 null,以便我的辅助函数将这些空 val 视为 0。但是这里的这一行:
rrsr.DuckbillRate = Convert.ToDecimal(GetValAtColRow(colNumber, rowNumber));
...有时会因“输入字符串格式不正确”而失败(失败时,它尝试转换的值是 string.empty):
这是我获取单元格值的辅助函数,以便我可以将它们保存在我的列表<T
>中,并从存储在列表<T
>中的那些记录的内容中恢复/重新填充单元格:
private string GetValAtColRow(int colNum, int rowNum)
{
DataGridViewRow desiredRow = dataGridViewPlatypi.Rows[rowNum];
return (desiredRow.Cells[colNum].Value ?? 0).ToString();
}
private void SetValAtColRow(int colNum, int rowNum, string val)
{
string convertedVal = val;
// If the value is 0, I want to display an empty cell (nothing)
if (convertedVal.Equals("0"))
{
convertedVal = string.Empty;
}
DataGridViewRow desiredRow = dataGridViewPlatypi.Rows[rowNum];
desiredRow.Cells[colNum].Value = convertedVal;
}