Bonjour à tous, je commence à devenir sérieusement en colère contre mon Visual Studio 2008. En fait non, je sais pas vraiment contre qui être en colère .
Je m'explique: j'essaye depuis hier midi, tant bien que mal, de faire afficher à mon dataGrid un objet tout simple avec 2 attributs de type "int" et un attribut de type "string". Jusque là, rien de très amusant. Voici le code de la classe en question:
Et ici, la méthode de mon formulaire dans laquelle je créé des objets pour les mettre dans un ArrayList pour enfin l'indiquer comme source à mon dataGrid:
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 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RemoteClasses { [Serializable()] public class UserType { private int id; private string name; private int lastupdate; public UserType(int id, string name, int lastupdate){ this.id = id; this.name = name; this.lastupdate = lastupdate; } public int getId () { return this.id; } public string getName () { return this.name; } public int getLastUpdate() { return this.lastupdate; } public void setId (int id) { this.id = id; } public void setName (string name) { this.name = name; } public void setLastUpdate(int t) { this.lastupdate = t; } } }
Et voici le code de création de la dataGrid (généré par VS 2008):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 UserType user_w = new UserType(1, "Writer", 0); UserType user_v = new UserType(2, "Validator", 0); UserType user_a = new UserType(3, "Auditor", 0); ArrayList liste_quests = new ArrayList(); liste_quests.Add(user_w); liste_quests.Add(user_v); liste_quests.Add(user_a); this.dGrid_form.DataSource = null; this.dGrid_form.Refresh(); this.dGrid_form.DataSource = liste_quests; this.dGrid_form.Refresh();
Déjà, je ne pense pas qu'il y ait de problème au niveau du code en lui-même puisque j'ai pu constater sur de nombreux sites (csharpcorner, microsoft...) que la manière de procéder était celle là. Cependant, voilà le résultat que j'obtiens:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 this.dGrid_form = new System.Windows.Forms.DataGrid(); this.dGrid_form.HeaderForeColor = System.Drawing.SystemColors.ControlText; this.dGrid_form.Location = new System.Drawing.Point(11, 48); this.dGrid_form.Name = "dGrid_form"; this.dGrid_form.Size = new System.Drawing.Size(563, 513); this.dGrid_form.TabIndex = 5; private System.Windows.Forms.DataGrid dGrid_form;
Donc voilà, j'ai bien vérifié, la liste est correctement remplie, les objets correctement instanciés... Je ne comprend pas...
Merci d'avance de vos réponses
Partager