我正在尝试从DataGridView获取数据并将该数据保存到txt文件中,以便以后可以将其加载到网格中。现在,它将保存文件,但由于错误
而不会写入文件“datagridviewcell类型的值无法转换为字符串”或
“mscorlib.dll中发生了类型'System.FormatException的未处理异常' 附加信息:输入字符串的格式不正确。“
我不知道该怎么做,我无法在任何地方找到解决方案。
Private Sub SaveButton_Click(sender As Object, e As EventArgs) Handles SaveButton.Click
'SGD is my save file dialog box
SGD.ShowDialog()
Using writer As New StreamWriter(SGD.FileName)
For Each row As DataGridViewRow In QAfield.Rows
writer.WriteLine(row.Cells.Item("AgentColumn").ToString, row.Cells.Item("ScoreColumn"), row.Cells.Item("PassColumn"), row.Cells.Item("FailColumn"))
Next
End Using
End Sub
答案 0 :(得分:2)
错误是因为您没有访问value
到DataGridViewCell
而不是单元格本身......
此回报是DataGridViewCell
row.Cells.Item("AgentColumn")
当您添加ToString
时,您试图获取此对象并将其转换为字符串,这将无法正常工作以及您看到的确切错误。
row.Cells.Item("AgentColumn").ToString
您需要访问value本身......
row.Cells.Item("AgentColumn").Value.ToString()
另外注意,如果Value
为NULL,则在添加ToString
时会抛出异常,因为您无法将NULL转换为空字符串。在将它投射到字符串之前,我会检查这个value
...
If row.Cells.Item("AgentColumn").Value IsNot DBNull.Value Then ....