sophia kylie taylor Ответов: 1

Отображение данных в datagridview с помощью stream reader


Привет,

есть ли какой-нибудь способ, которым я мог бы отобразить данные в Столбцах представления datagrid в зависимости от значения ячейки. Я работал над программой, связывающей систему времени и посещаемости, которая распределяла бы данные из csv-файла в правильный столбец данных в представлении datagrid. То, что я хочу отобразить, - это время входа и выхода конкретного сотрудника в одной строке, но то, что происходило, было временем входа и выхода, создает 2 строки (1 Для времени входа и 1 Для времени выхода)

Вот детали кода:

Dim csvreader As New StreamReader(txtboxcsv.Text, System.Text.Encoding.Default)
Dim sline As String = ""
Do
sline = csvreader.ReadLine
    If sline Is Nothing Then Exit Do
    Dim columns() As String = sline.Split(",")
    Dim row As DataRow = datatable.NewRow
    Try

        row("Employee Number") = columns(0)
        If columns(2) = "IN" Then
            row("In Date") = columns(1)
        ElseIf columns(2) = "OUT" Then
            row("Out Date") = columns(1)
        End If
        row("In Location") = "PAM"
        row("Out Location") = "PAM"
        Dim d As String
        d = Convert.ToDateTime(columns(1)).ToString("dd-MMM-yyyy")
        row("Shift Starttime") = d + " " + "9:00"
        row("ShiftEndTime") = d + " " + "18:00"
        row("Attendance Date") = d
        row("Time Zone") = 150
        datatable.Rows.Add(row)
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try

Loop
csvreader.Close()
DataGridView1.DataSource = datatable
Me.Text = datatable.Rows.Count & "rows"


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

не мог найти лучшего состояния, которое я мог бы использовать.

Maciej Los

Каков ваш вклад? Пожалуйста, предоставьте примерные данные (текстового файла).

Richard MacCutchan

Похоже, что вам нужно прочитать две строки csv-данных для одной строки DataGridView. Вы должны создать новую строку только тогда, когда найдете новую запись сотрудника.

1 Ответов

Рейтинг:
10

Richard MacCutchan

Лучший способ-использовать движки Jet или ACE для чтения файла .csv в форму, которую можно привязать непосредственно к DataGridView. Видеть Использование OleDb для импорта текстовых файлов (tab, CSV, custom)[^], это C#, но должно быть довольно легко конвертировать.