Bonjours,
Je suis actuellement entrain de faire un projet et bien entendu je suis coincé alors je viens vers vous pour un peu d'aide!!
Mon projet consiste à lire un fichier CSV ligne par ligne et chaque ligne doit correspondre à un RadioButton. Sur une ligne plusieurs éléments me sont indispensable pour ma programmation.
Le principe est de charger un fichier CSV depuis l'outil openfiledialog. Ensuite le traitement permet de remplir deux flowLayoutPanel avec des radiobuttons.
Traitement ligne par ligne : Si la 14ème colonne du fichier contient "2 personnes" on crée un radiobutton dans le flowLayoutPanel 1, et son texte prend la chaine de caractère de la 27ème colonne du fichier. Puis récupère la valeur de la 12éme colonne grâce a TabIndex pour l'envoyer sur l'arduino.
Mon problème: je voudrais lorsque je sélectionne un RadioButton dans le groupe "2 personnes" (dans mon flowLayoutPanel1) qu'il m'affiche dans une textBox le numéro de la 24éme colonne mais quand je lui demande de l'afficher il me renvoie le numéro de la 12éme colonne mais de la dernière ligne du groupe "2 personnes" au lieu d'afficher le résultat de la ligne du RadioButton associé.
Voici un extrait de mon code en pièce jointe.
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 private void button35_Click(object sender, EventArgs e) { int resultat; OpenFileDialog open = new OpenFileDialog(); string line; if (open.ShowDialog() == DialogResult.OK) { label2.Text = open.FileName; StreamReader sr = new StreamReader(open.FileName); while ((line = sr.ReadLine()) != null) { string[] mots = line.Split(';'); if (mots[9] == "2 personnes") { OAI = true; RadioButton rb = new RadioButton(); flowLayoutPanel1.Controls.Add(rb); rb.AutoSize = true; string Description = mots[27]; rb.Text = Description.Substring(0, Description.Length); string Relais = mots[12]; Relais = Relais.Substring(3, Relais.Length - 3); resultat = Convert.ToInt32(Relais); listBox1.Items.Add(resultat); rb.TabIndex = resultat; Courant = mots[24]; Courant = Courant.Substring(1, Courant.Length - 2); } } } private void button35_Click_1(object sender, EventArgs e) { foreach (RadioButton rbd in flowLayoutPanel1.Controls) { if (rbd.Checked == true) { string envoi = "M" + rbd.TabIndex; label3.Text = envoi; port.Write(envoi); textBox1.Text = Courant; } } }
Savez d'où vient mon problème car la je ne vois pas du tout.
Merci d'avance.
sk8nex
Partager