Im a FBI agent
Messages postés9Date d'inscriptionlundi 24 mai 2004StatutMembreDernière intervention30 janvier 2007
-
18 janv. 2006 à 10:14
Im a FBI agent
Messages postés9Date d'inscriptionlundi 24 mai 2004StatutMembreDernière intervention30 janvier 2007
-
18 janv. 2006 à 15:51
Bonjour,
j'ai un problème pour remplir une datagrid, voici mon code:
ArrayList prenoms= new ArrayList();
ArrayList ages = new ArrayList();
Im a FBI agent
Messages postés9Date d'inscriptionlundi 24 mai 2004StatutMembreDernière intervention30 janvier 2007 18 janv. 2006 à 15:51
Merci beaucoup, c'est parfait!!! J'ai juste remplacé le Dataset par une DataTable et ça marche. Avec le Dataset, il fallait cliquer pour ouvrir la table. C'est exactement ce qu'il me fallait. Encore merci
ArrayList personnes = new ArrayList();
personnes.Add(new Personne("gustave", 57));
personnes.Add(new Personne("robert", 46));
DataTable table = new DataTable("TABLE1");
table.Columns.Add("nom");
table.Columns.Add("age");
foreach (Personne p in personnes)
{
table.Rows.Add(new object[] {p.Nom, p.Age});
}
this.dataGrid1.DataSource = table;
MorpionMx
Messages postés3466Date d'inscriptionlundi 16 octobre 2000StatutMembreDernière intervention30 octobre 200857 18 janv. 2006 à 10:43
Bonjour,
C'est normal, car a chaque iteration de foreach, tu ajoutes une ligne dans ton DataTable.
Ce qu'il faudrait que tu fasses, c'est simplement creer une classe Personne, qui aurait comme Propriétés Nom et Age. Ensuite, tu instancies une occurence de Personne en lui fournissant son nom et son age via le constructeur.
Et finalement, tu utilises un ArrayList contenant tes instances comme Datasource de ton Datagrid.
Im a FBI agent
Messages postés9Date d'inscriptionlundi 24 mai 2004StatutMembreDernière intervention30 janvier 2007 18 janv. 2006 à 11:46
Re,
Ca na marche pas avec ce que tu m'as dit, le datagrid est vide.
Et quand je rentre des String dans le Arraylist, le datagrid affiche la longueur de mes String.
Est-ce qu'il y aurait un moyen de choisir la colonne que l'on veut remplir de lignes?
this.dataGrid1.Location =
new System.Drawing.
Point(12, 12);
this.dataGrid1.Name =
"dataGrid1";
this.dataGrid1.Size =
new System.Drawing.
Size(268, 242);
this.dataGrid1.TabIndex = 0;
this.Controls.Add(
this.dataGrid1);
this.ResumeLayout(
false);
}
}
public
class
Personne
{
private
string nom;
private
int age;
public
string Nom
{
get {
return
this.nom; }
}
public
int Age
{
get {
return
this.age; }
}
public Personne(
string nom,
int age)
{
this.nom = nom;
this.age = age;
}
}
}
<HR>
Ensuite, a toi de voir et de l'adapter, selon si tu as vraiment besoin d'utiliser un Dataset et ce que tu veux faire des données affichées dans la grille .
Mx
MVP C#
Vous n’avez pas trouvé la réponse que vous recherchez ?
Im a FBI agent
Messages postés9Date d'inscriptionlundi 24 mai 2004StatutMembreDernière intervention30 janvier 2007 18 janv. 2006 à 15:05
Merci, ça marche.
Par contre, avec le dataset (ou la datatable (en fait je ne sais pas trop comment ça fonctionne)), lorqu'on clique sur le titre de la colonne, ça organise par ordre alphabétique, ou ordre croissant des chiffres. Et avec ton exemple ça ne le fait plus.
J'ai besoin de cette fonctionnalité.
Est-ce que c'est possible avec le code que j'ai mis plus haut? seulement en choisissant la colonne dans laquelle je veux insérer les lignes.