I suppose that clearing the datagrid rows at every loop is not really what you want. You need to move the
dg1.Rows.Clear()
before the while loop. Also, but this is difficult to calculate from the code posted, I think that your Reader.SetFieldWidths(8, 8)
is wrong. Try with
Reader.SetFieldWidths(8, 9, -1)
TextFieldParser.SetFieldWidths
Then in the loop your need
' Add a new row
Dim curRowIndex = dg1.Rows.Add()
' Set the first cell of the new row....
dg1.Rows(curRowIndex).Cells(0).Value = currentRow(0)
dg1.Rows(curRowIndex).Cells(1).Value = currentRow(1)
dg1.Rows(curRowIndex).Cells(2).Value = currentRow(2) ' the remainder of the line