Binder un objet dans un dataGrid
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 :furax: .
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:
Code:
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 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:
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(); |
Et voici le code de création de la dataGrid (généré par VS 2008):
Code:
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; |
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:
http://tehmrz.free.fr/dGridProblem.jpg
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 :)