Trier les caractères d'un txt vers un datagridView

Ulrichleboss Messages postés 502 Date d'inscription dimanche 20 juillet 2008 Statut Membre Dernière intervention 14 mai 2016 - Modifié par Ulrichleboss le 28/11/2014 à 13:12
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 - 28 nov. 2014 à 21:36
Bonjour,

Je suis en train de faire un petit programme, j'ai un datagridView qui se remplit selon un fichier texte charger par l'utilisateur.

Voici le code pour charger mon texte : ( dans un button )

OpenFileDialog openFile = new OpenFileDialog();
openFile.DefaultExt = "txt";
openFile.FileName = "test";
openFile.Filter = "Fichier texte (*.txt) |*.txt";
if (openFile.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
StreamReader sr = new StreamReader(openFile.FileName);
sr.Close();
}
foreach (string line in File.ReadLines(openFile.FileName))
{
dataGridView1.Rows.Add(line);
}


Avec ce code j'arrive à afficher le texte ( 1er ligne de mon txt, sur la cellule 1, 2eme ligne sur la 2ème cellule etc... )

J'aimerais pouvoir trier la chose, ajouter un nom devant chaque ligne de mon fichier texte.

Actuellement mon fichier texte se présente comme cela :

123456
12345
1234567

J'aimerais par exemple mettre un nom avant chaque ligne de cette façon :

Gérard = 123456
Patrick = 12345
Henry = 1234567

Mais si je fais ça, dans mon datagridView, ça sera aussi afficher, hors dans la collonne chiffre, je ne veux voir que les chiffres, j'ai donc penser à faire une colonne nom et garder en 2ème la colonne pour les chiffres.

Que dois-je changer dans mon code pour qu'il trie les caractères, je souhaite les nom dans la colonne 1 ( Nom ) et uniquement les chiffres dans la colonne 2
( Nombre ) ?

Merci d'avance !

1 réponse

Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
28 nov. 2014 à 21:36
Bonjour, il,va te falloir structurer ton fichier texte, le caractère = n'est pas un séparateur courant mais si ça te convient pourquoi pas. En général on trouve le point virgule ou la tabulation.

Ensuite tu vas lire chaque ligne et "parser" tes donnees c.-à-d. extraire les morceaux de texte entre les séparateurs.

A ce moment tu peux écrire directement dans le datagridview, mais si par la suite tu veux traiter tes donnees je te conseille de les stocker dans une List<T> dont T est une classe adaptée a ton besoin, et ensuite de blinder cette liste. Voir ici:http://codes-sources.commentcamarche.net/faq/1291-utilisation-du-binding-au-travers-de-l-objet-databindingsource
0
Rejoignez-nous