Member 13967614 Ответов: 1

Как прочитать csv-файл в datagridview, который имеет заголовок


У меня есть datagrid, у которого уже есть заголовок, поэтому я хочу заполнить его внутри datatable без изменения заголовка

Я использую этот метод для импорта данных из csv.

Что я уже пробовал:

Private Sub Open_Click(ByVal sender As Object, ByVal e As EventArgs)
    openFileDialog1.ShowDialog()
    txtFile.Text = openFileDialog1.FileName
    BindData(txtFile.Text)
End Sub

Private Sub BindData(ByVal filePath As String)
    Dim dt As DataTable = New DataTable()
    Dim lines As String() = System.IO.File.ReadAllLines(filePath)

    If lines.Length > 0 Then
        Dim firstLine As String = lines(0)
        Dim headerLabels As String() = firstLine.Split(","c)

        For Each headerWord As String In headerLabels
            dt.Columns.Add(New DataColumn(headerWord))
        Next

        For i As Integer = 1 To lines.Length - 1
            Dim dataWords As String() = lines(i).Split(","c)
            Dim dr As DataRow = dt.NewRow()
            Dim columnIndex As Integer = 0

            For Each headerWord As String In headerLabels
                dr(headerWord) = dataWords(Math.Min(System.Threading.Interlocked.Increment(columnIndex), columnIndex - 1))
            Next

            dt.Rows.Add(dr)
        Next
    End If

    If dt.Rows.Count > 0 Then
        dataGridView1.DataSource = dt
    End If
End Sub

1 Ответов

Рейтинг:
1

Maciej Los

При первом же взгляде вам нужно измениться Практическое руководство.Свойство AutoGenerateColumns (System.Окна.Формы) | Microsoft Docs[^] и установите его на False.

Для получения более подробной информации перейдите по ссылке.