begin process at 2010 02 09 21:30:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

WebControl

 > 

Contrôles dynamiques


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Contrôles dynamiques

samedi 24 juin 2006 à 10:43:19 | Contrôles dynamiques

ja001net

Bonjour,

J'aimerais créer des contrôles serveur dynamiquement en fonction d'un chiffre entré dans un précédent formulaire (créer 5 TextBox par exemple).

J'ai vu une solution utilisant un PlaceHolder mais elle ne me convient pas car il faudrait que je mette tous les textbox dans le même place holder. Or, je génère du code html en fonction du nombre de textbox désirés (dans mon exemple 5 tableaux html contenant 1 textbox chacun).

J'ai aussi essayé de faire une boucle for en spécifiant un l'id du textbox en fonction de la valeur du compteur (int i), mais ce ne marche pas non plus (l'id est considéré comme invalide par visual studio) 
<asp:TextboxID="TB_<%# i.ToString()"runat="server">

Quelqu'un aurait-il une idée ou une solution à me donner ?


Merci d'avance.

samedi 24 juin 2006 à 11:42:38 | Re : Contrôles dynamiques

jesusonline

Membre Club Administrateur CodeS-SourceS
bonjour,

pourquoi pas une boucle ?

for i as integer = 0 to 5
dim moncontrol as new button
moncontrol.id = "button" & i.tostring()
placeholder1.controls.Add(moncontrol)
next


Cyril - MVS - MCP
samedi 24 juin 2006 à 11:55:56 | Re : Contrôles dynamiques

ja001net

Réponse acceptée !

Bonjour,

Merci de ta réponse.

J'ai essayé cette méthode mais le problème c'est que je dois aussi générer du code html et pas seulement des contrôles.
Il faudrait donc que je génère également le placeholder dynamiquement à l'endroit précis ou je veux mettre le textbox.

Précision : Si l'utilisateur veut créer 5 textbox, je dois générer 5 tableaux HTML qui contiennent 1 textbox chacun soit 5 textbox (le chiffre 5 étant un simple exemple, si l'utilisateur en veut 10 il en aura 10).

La solution que j'ai trouvé pour l'instant c'est d'utiliser un repeater et de mettre un arraylist comme datasource, qui contient autant d'élements que le nombre textbox désirés. Ca marche pas trop mal, mais j'aurais aimé faire plus simple...

samedi 24 juin 2006 à 12:00:12 | Re : Contrôles dynamiques

jesusonline

Membre Club Administrateur CodeS-SourceS
Je vois pas le problème avec un repeater, ca correspond à ce que tu recherches ...


Cyril - MVS - MCP
samedi 24 juin 2006 à 12:08:01 | Re : Contrôles dynamiques

ja001net

Plus j'avance et plus je pense que ça correspond bien à ce que je recherche en effet.

Merci pour ton aide.

lundi 26 juin 2006 à 14:58:16 | Re : Contrôles dynamiques

preti

Pour faire plus simple tu fais un for sur ton nombre de textbox et en même temps que tu crées tes textbox tu crées un htmltable (associé à un htmltablerow et htmltablecell) puis tu places ta checkbox dans ta cell, ta cell dans ta row et ta row dans ton table et ton table dans ton placeholder :-) et le tour et joué ca donne quelque chose du genre : HtmlTable tbl; HtmlTableRow row; HtmlTableCell cell; HtmlInputText txt; for(int i=0;i
mercredi 28 juin 2006 à 11:25:07 | Re : Contrôles dynamiques

zarzar

bonjour
je suis interessé par ce sujet
j'ai placé moi aussi des contrôles générés dynamiquement dans des HtmlTableCell, puis ...TableRow puis ...Table et enfin j'ai ajouté mon HtmlTable à PlaceHolder1.Controls

j'ai un traitement à faire sur ts mes controles
comment les parcourir maintenant ?
merci bcp d'avance
mercredi 28 juin 2006 à 11:39:22 | Re : Contrôles dynamiques

ja001net

Pour récupérer les contrôles que tu as créé dynamiquement tu peux faire une boucle foreach sur PlaceHolder1.Controls.
Chaque itération de ta boucle sera un objet Control à partir duquel tu pourra récupérer les infos qui t'intressent (GetType() :  pour savoir le type de controle : textbox, dropdownlist, ... et ID pour savoir quel est le controle en cours par exemple )

mercredi 28 juin 2006 à 12:03:44 | Re : Contrôles dynamiques

zarzar

    bonne idée effectivement
mais ça marche pô :(

je me suis fait la ptite boucle foreach comme prévu

        foreach(Control ctrl in PlaceHolder1.Controls)
        {
            string type = ctrl.GetType().ToString(); // pour tester
            string id = ctrl.ID;
        }

il rentre pas dedans (genre aucun contrôle)
alors que mon placeholder est loin d'être vide (je le vois bien, il est affiché)
une explication ?
mercredi 28 juin 2006 à 12:25:04 | Re : Contrôles dynamiques

zarzar

pour être plus précis
en fait c bon à un autre emplacement j'ai pu obtenir mon PlaceHolder avec des contrôles
mais là vient mon soucis de départ
les seuls contrôles que je vois passer dans le foreach est mon HtmlTable
pas mes Texbox, Chekbox, Ddl, ... que j'ai mis dans le HtmlTable
snif

1 2

Cette discussion est classée dans : textbox, fonction, créer, contrôles, dynamiques


Répondre à ce message

Sujets en rapport avec ce message

Help ! PDF dynamique vers fichier PDF [ par vow ] Bonjour,J'ai une DLL qui contient une fonction pour créer dynamiquement un fichier PDF sans créer de fichier. Malheureusement, il n'y a pas de fonctio Help ! PDF dynamique vers fichier PDF [ par vow ] Bonjour,J'ai une DLL qui contient une fonction pour créer dynamiquement un fichier PDF sans créer de fichier. Malheureusement, il n'y a pas de fonctio configurer des textbox dynamiques [ par sev622 ] bonjour,je remplit un tableau avec des textbox dynamiques auxquels je donne un id différent à chacun. Je voudrai pouvoir également définir leur taille pb de boutons dynamiques [ par kirdrik2000 ] Bonjour, je fais du vb.net en codebehind. lorsque je crée un bouton dynamique ou un textbox ( les 2 font la meme erreur)dans le sub load de la cla Contrôles dynamiques dans un PlaceHolder qui disparaissent au PostBack [ par zarzar ] j'ai un problème, j'ai vu qu'il était fréquent mais je ne parviens pas à appliquer les solutions adéquates trouvéesje crée des contrôles dynamiques qu [C# 2.0] Création de variables dynamiques [ par javajavajava ] Bonjour,je sollicite votre aide pour savoir si il est possible de créer des variables dynamiquement ?Cela revient à disposer d'un moyen de pouvoir con fonction JavaScript et asp:Repeater => Comment récupérer le bon TextBox ? [ par david8888 ] Bonjour,Alors, voilà,j'ai 1 page dans laquelle j'ai 2 zones de saisies.Chaque zone correspond à 1 Item d'1 Repeater.1 zone = 1 asp:TextBox.Les TextBox erreur sur le pointage vers une fonction dans une propriété textbox si valeur nulle [ par equinoxe83 ] Bonjour,J'ai un (un autre ...) Pb sur un textbox dont la valeur est nullLe contexte :Un textbox à l'intérieur d'un formview bindé sur le champs date d Faire des contrôles avant de valider [ par ahou ] Dans une page asp2, en C#, sur l'événement click d'un bouton "Valider", j'effectue des contrôles sur des zones saisies, avant de faire des mises à jou Comment créer une fonction accessible sur toutes mes pages ASP.NET [ par vinzemuls ] Bonjour,je souhaites utiliser une fonction avec des arguments différents sur plusieurs pages de mon site. comment la rendre utilisables sur toutes les


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales