IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

RadionButtonList Dynamique .


Sujet :

ASP.NET

  1. #1
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut RadionButtonList Dynamique .
    Bonjour a tous,

    je construis un tableau dynamiquement dans lequel j'insere un nombre défini de RadioButtonList. Chacune de ces contient 4 ListItem.
    Le tout est construit dynamiquement et affiché dans un tableau.
    Jusque là pas de soucis.

    Par contre, je ne parviens pas à parcourir les RadioButtonList de mon tableau quand je veux obtenir le resultat de la selection des ListItem
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For each ListeRadio as RadioButtonList in MyTable.Rows 'idem avec MyTable.Controls
       if ListeRadio.SelectedItem.Value = 1 then
       MyAction()
       end if
    Next
    Lorsque je fais ceci, je ne rentre pas dans la boucle, et ne parviens pas a effectuer mon traitement sur les valeurs des ListItem.
    Le pas à pas m'indique que la collection de Rows ou de Controls de MyTable est à 0. Or, ces contrôles existent puisqu'ils ont été crées avant, et sont visibles sur la page .

    Merci d'avance de votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Par défaut
    essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim item as DatagridItem
    For Each item In monTableau.Items
          Dim RDB As Radiobutton = CType(item.FindControl("tonIDRadioButton"), RadioButton)
          ...
    Next
    Moi c'était un datagrid (et aussi un gridview...), donc je sais pas si ca marche pour les simples tableau....à voir

  3. #3
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Malheureusement je ne travaille pas avec un datagrid mais un Table. Pas de DataGridItem a disposition...
    J'ai identifié le problème, et comme souvent, cela vient du postback

    Je rempli mon tableau au clic sur un bouton (isPosctbak) et traite les données entrées dans les radioButton du tableau au clic sur un autre bouton qui recharge lui aussi la page. Le soucis est que une fois la page rechargée, le tableau est vide et je ne peux pas récupérer les controls ou les rows.

    des idées ?

  4. #4
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    Bonjour

    La propriété "EnableViewstate" de ton RadioButtonList est bien à "True" ?
    Es-tu sûr d'utiliser à bon escient le Me.IsPostBack ?

    Deux questions qui peut-être peuvent te faire avancer...

    A bientôt

  5. #5
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Le "True" est activé par défaut , mais je l'ai inscrit en dur.

    Je gere surtout le if not isPostabck plus que le isPostback, je l'admet. Mais je ne vois pas bien en quoi le fait de dire "oui, je recharge" va me permettre de conserver les données du tableau?
    Peux tu m'en dire un peu plus ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 102
    Par défaut
    montre un peu ton code voir si c'est pas juste un pb de syntaxe...ou une idée toute simple qui ne te serait pas venu sur le moment !

  7. #7
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    Hum ce qui m'étonne, c'est que ton control est vide au rechargement ?
    Ca veut dire que soit le ViewState n'est pas activé pour ta RBL, ce qui n'est pas le cas.
    Soit, tu repasse dans le Page_Load (aprés un click) avec un Me.IsPostBack mal géré et donc ça rempli à nouveau ta RBL à vide ...
    C'est une piste à suivre .

  8. #8
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Citation Envoyé par mafyoso
    Hum ce qui m'étonne, c'est que ton control est vide au rechargement ?
    Ca veut dire que soit le ViewState n'est pas activé pour ta RBL, ce qui n'est pas le cas.
    Le viewstate est par défaut à true sur mes RBL, en tout cas je suppose car je le s crée dynamiquement et n'ai pas passé cette propriété en dur.

    Citation Envoyé par mafyoso
    Soit, tu repasse dans le Page_Load (aprés un click) avec un Me.IsPostBack mal géré et donc ça rempli à nouveau ta RBL à vide ...
    C'est une piste à suivre .
    C'est bien le cas! au clic sur mon 2e bouton, pour mettre fin à un compteur et réaliser des tests sur les radioButtons cochés, je fais un postback, je n'ai pas le choix, je dois déterminer quels sont les case cochées. Et c'est aussi sur ce bouton que je demande la verification des values des RBL.
    Le problème étant que le postback les a deja virées quand je veux faire cette operation...

    Ca devient stressant

  9. #9
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    J'essais de récapituler :

    - Au Premier Load de ta page, tu créé la RBL dynamiquement. Cette création doit être dans un block "if not Me.IsPostBack..."
    - Au click d'un bouton tu interrompts un compteur et traite les valeurs de la RBL -> Vide

    Est-ce que ton Tableau 'Mytable' est en "runat='server' " et "enableviewstate='true' "

    Je pinaille un peu mais comme tu le dis c'est un problème de postback , et donc de viewstate et persistance des données .

    Ne désespère pas

  10. #10
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Citation Envoyé par mafyoso
    Au Premier Load de ta page, tu créé la RBL dynamiquement. Cette création doit être dans un block "if not Me.IsPostBack..."
    NON, au load de ma page, je ne fais apparaître qu'une dropDownList.

    Je propose au visiteur de démarrer un test en fonction de la valeur selectionnée dans la DDL. Et c'est au clic sur ce bouton que:
    -je démarre mon compteur
    -j'appelle un méthode de création de mon tableau qui, lui-même, contient mes RBL.

    L'utilisateur répond aux questions en cochant les cases.

    Quand il a fini, il clique sur "terminer", le bouton produit un postback:
    -je ferme mon compteur
    -et j'appelle une méthode de correction du test qui analyse les case cochées.
    Et c'est à ce moment qu'a lieu le problème. Le postback sur le bouton "terminer" doit recréer le tableau a vide ou je ne sais quoi car je ne recupere même pas les rows ou cells du tableau.

  11. #11
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 400
    Par défaut
    ...

    Est-ce que c'est possible de voir ton code?

    Sinon je passe la main

    Bon courage

  12. #12
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    je te MP, je prefere pas le montrer en integralité ici, et s'il n'est pas en integralité ca n'a pas de sens

  13. #13
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Merci beaucoup à Mafyoso qui m'a beaucoup aidé.
    La solution consiste à instancier tableau et RBL dans le page_init, à leur mettre visible=false et à le changer en true quand besoine est.

    RESOLU

    Merci MAFYOSO

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Creation de fiche dynamique
    Par Mouss26 dans le forum C++Builder
    Réponses: 7
    Dernier message: 24/07/2002, 07h56
  2. comment creer un alias dynamique avec BDE et ODBC
    Par david33 dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/07/2002, 11h50
  3. Création dynamique de TImages
    Par Dric dans le forum C++Builder
    Réponses: 10
    Dernier message: 08/07/2002, 12h36
  4. Réponses: 4
    Dernier message: 13/05/2002, 16h43
  5. repertoire temp dynamique
    Par killpilot dans le forum C
    Réponses: 2
    Dernier message: 26/04/2002, 16h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo