DataRows, pb création dynamique

[Résolu]
Signaler
Messages postés
167
Date d'inscription
dimanche 6 février 2005
Statut
Membre
Dernière intervention
13 avril 2007
-
Messages postés
318
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
30 décembre 2005
-
Bonjour,



Je bloque ! Voilà mon problème...

J'alimente un datagrid avec un DataTable que je construis manuellement,
c'est à dire que je crée les DataColumns et les DataRows nécessaires.
Pour cela je n'ai pas de problème.

Cependant maintenant mon DataTable doit recevoir un nombre variable de ligne... et ça je ne sais pas faire... Imaginons
que je veuille créer 10 lignes, avec "tatata" dans la première colonne
et "blablabla" dans la seconde.... Comment faire ???



Actuellement je construis de cette manière mon dataTable :



DataTable dt_exemple = new DataTable();

DataColumn col1 = new DataColumn("Type", Type.GetType("System.String"));

DataColumn col2 = newDataColumn("Contenu",Type.GetType("System.String"));



//on ajoute les colonnes à la datatable

dt_exemple.Columns.Add(col1);

dt_exemple.Columns.Add(col2);



//crée une ligne dans le datatable

DataRow ligne1 = dt_exemple.NewRow();



//on la remplit

ligne1[0] = "tatata";

ligne1[0] = "blablabla";

7 réponses

Messages postés
318
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
30 décembre 2005
1
Ha!! OK super simple, tu fais une boucle.



DataRow ligne1;

For int i = 0 to 9

{

ligne1 = dt_exemple.NewRow();

//on la remplit

ligne1[0] = "tatata";

ligne1[1] = "blablabla";

dt_exemple.Rows.Add(ligne1)

}



Et voilà!



Chris

N'oubliez pas de cloturer votre post.
Messages postés
318
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
30 décembre 2005
1
Salut,



C'est dommage tu y es presque.

La méthode NewRow crée une ligne mais ne l'affecte pas à la Table. Pour y arriver, ajoute

dt_exemple.Rows.Add(ligne1);

Et voilà, l'instruction qui change la vie.

Sinon, je pense aussi que pour ton exemple, y a un souci et que tu a voulu faire

ligne1[0] = "tatata";

ligne1[1] = "blablabla";



Chris

N'oubliez pas de cloturer votre post.
Messages postés
167
Date d'inscription
dimanche 6 février 2005
Statut
Membre
Dernière intervention
13 avril 2007

Oui ça je sais faire 69chris mais ma question (en gras dans mon précédent post) était Imaginons que je veuille créer 10 lignes, avec "tatata" dans la
première colonne et "blablabla" dans la seconde.... Comment faire ???



En gros j'aimerais faire une boucle du style :



for (i=0; i<10; i++)

{

//crée une ligne dans le DataTable

//mets "tatata" dans la première colonne

//mets "tatata" dans la seconde colonne

}



Désolé si je me suis mal expliqué et merci de m'avoir répondu :-)



Je suis sûr que ça doit pas etre compliqué, mais je débute...
Messages postés
167
Date d'inscription
dimanche 6 février 2005
Statut
Membre
Dernière intervention
13 avril 2007

Mais ça fonctionne ? même si je crée mes 10 lignes toujours à partir de cet unique DataRow 'ligne1' ?



J'aurais bien ça dans mon datagrid ?

type | Contenu

-----------------

tatata | blablabla

tatata | blablabla

tatata | blablabla

tatata | blablabla

tatata | blablabla

tatata | blablabla

tatata | blablabla

tatata | blablabla

tatata | blablabla

tatata | blablabla
Messages postés
318
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
30 décembre 2005
1
Faut voire si la modif d'une ligne affecte pas les autres....



Chris

N'oubliez pas de cloturer votre post.
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
Il n'est pas unique, dans l'exemple à chaque boucle tu en crée un nouveau...

PS : pas mal la syntaxe du for :p

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
318
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
30 décembre 2005
1
Désolé pour le for, c'est un reste du projet VB sur lequel je suis en se moment.

Merci coq.


Chirs


N'oubliez pas de cloturer votre post.