I'm following a tutorial, which was going great, until I actually ran the project and got an error:
No row can be added to a DataGridView control that does not have columns. Columns must be added first.
this error occured at:
Me.DataGridView1.Rows.Add(Splitline)
I've searched all over but can't find a solution. Is there something simple I'm missing?
My code.
Public Class Form1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim fName As String = ""
OpenFileDialog1.InitialDirectory = "C:\"
OpenFileDialog1.Filter = "Text Files (*.txt)|*.TXT"
OpenFileDialog1.FilterIndex = 2
OpenFileDialog1.RestoreDirectory = True
If (OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK) Then
fName = OpenFileDialog1.FileName
End If
Me.TextBox1.Text = fName
Dim TextLine As String = ""
Dim Splitline() As String
If System.IO.File.Exists(fName) = True Then
Dim objReader As New System.IO.StreamReader(fName)
Do While objReader.Peek() <> -1
TextLine = objReader.ReadLine()
Splitline = Split(TextLine, ",")
Me.DataGridView1.Rows.Add(Splitline)
Loop
Else
MsgBox("File does not exist")
End If
End Sub
Private Sub SaveGridDataInFile(ByRef fName As String)
Dim I As Integer = 0
Dim j As Integer = 0
Dim cellvalue$
Dim rowLine As String = ""
Try
Dim objWriter As New System.IO.StreamWriter(fName, True)
For j = 0 To (DataGridView1.Rows.Count - 2)
For I = 0 To (DataGridView1.Columns.Count - 1)
If Not TypeOf DataGridView1.CurrentRow.Cells.Item(I).Value Is DBNull Then
cellvalue = DataGridView1.Item(I, j).Value
Else
cellvalue = ""
End If
rowLine = rowLine + cellvalue + ","
Next
objWriter.WriteLine(rowLine)
rowLine = ""
Next
objWriter.Close()
MsgBox("text was written to file")
Catch ex As Exception
MessageBox.Show("Error occured." + ex.ToString)
Finally
FileClose(1)
End Try
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
SaveGridDataInFile(Me.TextBox1.Text)
End Sub
End Class