0

我将在 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;
}
4

1 回答 1

2

解析在某处变得错误......

当解析不正确时,通常会出现输入字符串格式不正确的错误...

关于其他问题...尝试这样做>>>

string a =  dataGridViewPlatypi.Rows[rowNum].Cells[colNum].Value.toString()

if(a=="")
{
.
.
//further things
}
于 2012-09-22T04:09:33.463 回答