Bonjour à tous,
Je débute sur VB.net et je cherche a faire un programme simple me permettant d'afficher dans une datagrid le contenu d'un fichier CSV.
Je vous précise que je connais très peut le VB.net. Jusqu’à présent, je codait le plus souvent en Powershel et VBScript.
J'arrive à afficher des données dans le Datagrid mais pas ce que j'attends. Ce qui est affiché pour le moment, c'est la longueur de ma chaine de caractère, et non la chaine en elle même.
Avez vous une idée de ou viens mon erreur?
Voici le code pour que ce soit plus clair:
Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 Imports Microsoft.Win32 Imports System.IO Class MainWindow Public donnéesDatagridBrut As List(Of InterCallFacturationData) Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click Dim databrut Dim dlg As New OpenFileDialog dlg.Filter = "InterCall Files | *.Csv" dlg.InitialDirectory = My.Computer.FileSystem.SpecialDirectories.Desktop dlg.ShowDialog() Dim fichier As String = dlg.FileName databrut = ReadByLine(fichier) 'For Each DataLine As String In databrut ' donnéesDatagridBrut.Add(DataLine) 'Next DataGrid1.ItemsSource = databrut DataGrid1.AutoGenerateColumns = "True" End Sub Public Shared Function ReadByLine(ByVal path As String) As ArrayList 'DECLARER un lecteur de fichier Dim meslignes As New ArrayList Dim monlecteur As StreamReader 'DECLARER une collection pour les lignes du fichier Try 'path est le chemin complet du fichier à lire monlecteur = New StreamReader(path) With monlecteur 'POSITIONNER le flux au début du fichier .BaseStream.Seek(0, SeekOrigin.Begin) 'TANT QUE le lecteur a quelquechose à lire While (.Peek > 0) 'LIRE une ligne du fichier et l'ajouter à meslignes meslignes.Add(.ReadLine) End While End With Catch ex As Exception Console.WriteLine(ex.Message) Finally 'FERMER le lecteur en tout etat de cause monlecteur.Close() End Try Return meslignes End Function End Class
Partager