Bonjour,
Je suis en train de faire un test avec un ArrayList (même si au final, je vais prendre une Collection générique List<T>).
Je veux le lier à un DataGridView.
L'ArrayList contient des objets de la même classe. On va dire que la classe est "Employé".
Dans mon Form, j'ai juste un TextBox pour taper un "Nom", un bouton pour ajouter le "Nom" à ma liste, et le DataGridView dessous.
Mon problème est que je ne comprends pas pourquoi le DataGridView n'est pas actualisé automatiquement alors que j'ai renseigné sa propriété DataSource en disant qu'elle est égale à mon ArrayList (fait au Load du Form).
Le code donne :
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 public partial class Form1 : Form { BindingSource oBindingSource = new BindingSource(); System.Collections.ArrayList MaListeEmployes; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { MaListeEmployes = new ArrayList(); mydgwListe.DataSource = MaListeEmployes; } private void mybtnAjouter_Click(object sender, EventArgs e) { if (this.mytbxNom.Text.Length != 0) { MaListeEmployes.Add(new Employe(this.mytbxNom.Text)); //mydgwListe.DataSource = null; //mydgwListe.DataSource = MaListeEmployes; } } }
Par contre, si j'enlève les commentaires en bas, ça marche !
Encore plus bizarre, si je laisse le premier commentaire, ça ne marche pas !
Comme si le DataGridView ne voulait pas que l'on redéfinisse sa propriété DataSource. Il faut donc que je fasse DataSource = "" ou = null.
Quelqu'un peut-il m'aider sur ce problème ?
Merci d'avance.
Partager