Импорт данных из файла CSV в сетку данных
Как правило, мы часто используем CsvReader
для преобразования файла CSV в коллекцию, которая может быть привязана к DataGrid
колонка напрямую. И это официальный документ , на который вы могли бы сослаться. Ниже приведен пример кода.
Класс модели
Public Class Item
Public Property Id As String
Public Property Title As String
Public Property Link As String
Public Property Type As String
Public Property Remark As String
Public Property Time As String
End Class
Код позади
Private Sub DataGrid_Loaded(ByVal sender As Object, ByVal e As RoutedEventArgs)
Using reader = New StreamReader("Assets\Archive.csv", True)
Using csv = New CsvReader(reader)
Dim records = csv.GetRecords(Of Item)()
For Each item In records
Items.Add(item)
Next
End Using
End Using
MyDataGrid.ItemsSource = Items
End Sub
Марка DataGridTextColumn
основываться на классе вашей модели и привязывать каждое свойство, как показано ниже.
<controls:DataGrid.Columns>
<controls:DataGridTextColumn
Width="*"
Binding="{Binding Id}"
Header="ID"
Tag="Id"
/>
<controls:DataGridTextColumn
Width="*"
Binding="{Binding Title}"
Header="Title"
Tag="Title"
/>
<controls:DataGridComboBoxColumn
Width="*"
Binding="{Binding Link}"
Header="Link"
ItemsSource="{x:Bind source}"
Tag="Link"
/>
<controls:DataGridTextColumn
Width="*"
Binding="{Binding Type}"
Header="Type"
Tag="Type"
/>
<controls:DataGridTextColumn
Width="*"
Binding="{Binding Remark}"
Header="Remark"
Tag="Remark"
/>
<controls:DataGridTextColumn
Width="*"
Binding="{Binding Time}"
Header="Time"
Tag="Time"
/>
</controls:DataGrid.Columns>