Incrémentation de variable [Résolu]

Messages postés
4
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
4 septembre 2007
- - Dernière réponse : cracozore
Messages postés
4
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
4 septembre 2007
- 4 sept. 2007 à 08:49
Bonjour à tous,

Voila, j'ai une dizaine de champs texte, nommé champ1, champ2, champ3....
Donc dans une boucle Tant que je voudrais y remplir le résultat de ma requête.

Tant que x<10 alors
    (champ+x).Text= "blalbalbla";
    x=x++;
refaire

Mais voila le champ+x n'est pas pris en compte. Je n'arrive pas a faire concaténer une variable après le nom fixe.
Si quelqu'un pouvait m'aider...

Merci bien
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
1648
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
3
Merci
Salut,
Tes champs sont des TextBox avec pour ID "champ1", "champ2", etc... si j'ai bien compris. Dans ce cas mets dans la boucle :

((TextBox)Page.FindControl("champ" + x.ToString())).Text = "blablabla";
// en gros tu fais un FindControl sur le conteneur, tu cast en TextBox et tu remplis le text

Bonne soirée,
A++

<hr width="100%" size="2" />Nurgle (Antoine) - MSP

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Nurgle
Messages postés
139
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
12 juillet 2011
0
Merci
Salut,

Tu peux essayer avec ce qui suit. Dans cet exemple on va utiliser 3 textBox (textBox1, textBox2 et textBox3) :







Int32
i;




for
(i = 1; i <= 3; i++)


{


      System.Windows.Forms.

Control[] liste = Form.ActiveForm.Controls.Find("textBox" + i.ToString(), true


);



      foreach (Control c in

liste)
     

{
           

c.Text =
"Mon texte "


+ i.ToString();
     

}





}

Ce qui donne en VB.NET :






Dim

i AsInteger





For i = 1 To

i <= 3




      Dim liste As System.Windows.Forms.Control() = My.Forms.Form1.Controls.Find("textBox" & i.ToString(), True

)
     



For
Each c As Control In

liste
           


c.Text =

"Mon texte "
& i.ToString()
     


Next



Next





@ bientôt, Matt
Commenter la réponse de Netlink
Messages postés
1648
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
0
Merci
NetLink > On est dans la catégorie ASP.NET, pas WinForms :p
Donc ça me semble un peu hors-sujet
(sauf s'il a pas posté sur le bon site, ce qui est possible aussi...)

<hr width="100%" size="2" />Nurgle (Antoine) - MSP
Commenter la réponse de cs_Nurgle
Messages postés
139
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
12 juillet 2011
0
Merci
LOL oui vu  Erreur signalée par MP mais bon c'est trop tard tant pis

Ne pas tenir compte de ma réponse très hors sujet




@ bientôt, Matt
Commenter la réponse de Netlink
Messages postés
4
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
4 septembre 2007
0
Merci
Merci les gars pour vos réponses (même hors sujet LoL). Je pense que ça devrait marcher, j'essais ça après mes petites réunions matinales....
Et oui j'étais dans le bon salon,
Bonne continuation à vous et bonne journée ++
Commenter la réponse de cracozore