darksky874
Messages postés22Date d'inscriptionmercredi 11 mai 2005StatutMembreDernière intervention 1 janvier 2008
-
23 oct. 2007 à 16:45
darksky874
Messages postés22Date d'inscriptionmercredi 11 mai 2005StatutMembreDernière intervention 1 janvier 2008
-
25 oct. 2007 à 17:23
Bonjour à tous,
Je débute en C# et j'ai un petit problème...
je dois générer des noms d'objet automatiquement, je m'explique :
J'ai besoins d'autant de DataGridView que de jours de la semaine contenus dans une table mysql.
Comment puis-je génerer les noms des objets automatiquement avec une boucle ?
54194
Messages postés11Date d'inscriptionmardi 26 décembre 2006StatutMembreDernière intervention25 octobre 2007 24 oct. 2007 à 09:18
Bonjour,
En faite, une régle primaire exige qu'on ne créé jamais de variables dans une boucle !!? ;)
En faite, en réflêchissant un peu ton code devrait plutot être ça :
DataGridView dgv = null;
for(i=0, i<DataSource1.rows.count, i++)
{
dgv = new DataGridView();
this.Controls.Add(dgv);
dgv.Id = "toto" + i;
dgv.location = new Point(...,...); // indique à quel endroit sera placé le controle !
// reste à renseigner les autres propriétés nécessaire à l'affichage de ton composant graphique
}
ps: Pour info le nommage dynamique des variables au sein même du code n'existe pas en c#
Le savoir est une division commune et bon courage.
54194
Messages postés11Date d'inscriptionmardi 26 décembre 2006StatutMembreDernière intervention25 octobre 2007 23 oct. 2007 à 17:08
Bonjour darksky874,
Je ne sais pas si j'ai bien compris ton problème mais il me parait très simple
tu recupere les informations de ta datasource
tu utilise la propriété datsource.rows.count -> permet de recuperer le nombre d'element dans ta table mysql
et puis tu crée une boucle for (puisque tu connais le nombre d'enregistrement )
Tu peux créer des "controles" dynamiquement dans ton code comme n'importe qu'elle classe du framework : en les instanciant.
Pour tes datagridview, il te suffit de renseigner la propriété "ID" ou "Name" de ton objet pour que tu puisses le reconnaitre ET l'affecter à la propriété "controls" de l'objet conteneur (ou parent) qui hébergera des datagridview
j'espere t'avoir aidé
si j'ai mal compris met plus de détail et le code en question
darksky874
Messages postés22Date d'inscriptionmercredi 11 mai 2005StatutMembreDernière intervention 1 janvier 2008 25 oct. 2007 à 17:23
Merci 54194,
En effet en y réfléchissant bien, creer des variables dans une boucle peut engendrer des problèmes...
Quant au code, c'est exactement ce qu'il me fallait. Je peu donc creer un nombre aléatoire de DataGridView et y accéder par leur id.
Simple quand on y pense, mais je n'y avais pas pensé !!! (je débute...).