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 :

Tableau avec boutons radio généré à partir d'une requête


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Gunny
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Danemark

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 194
    Par défaut Tableau avec boutons radio généré à partir d'une requête
    Bonjour !

    En ce moment je suis sur un problème qui me turlupine un peu...
    J'explique. Mon utlilisateur rentre des données dans un formulaire de recherche. Lorsqu'il clique sur le bouton, il arrive sur une page qui lui présente les résultats de sa recherche.
    Ils sont présentés dans un tableau comme suit :
    1ère colonne : bouton radio permettant de sélectionner la ligne
    2ème colonne : un texte généré à partir des données (du style "X fait telle chose, tel jour à telle heure et à tel endroit")

    Donc, évidemment, ce que je veux c'est que l'utilisateur puisse sélectionner une des lignes grâce au bouton radio, et passer à la page suivante en cliquant sur un bouton.

    Le problème, c'est que je ne sais pas vraiment comment m'y prendre pour le tableau. j'ai essayé en le mettant sous forme de label dont je modifie le texte dans le codebehind en bouclant sur les résultats de ma requête (à l'ancienne ). A l'affichage c'est parfait, mais je n'ai pas la moindre idée de comment je peux bien récupérer la valeur du bouton radio sélectionné.
    J'ai essayé en faisant quelque chose du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string numero = ((RadioButton)this.FindControl("my_radio_button")).Text;
    Mais bien entendu, ça ne fontionne pas, il ne trouve pas le contrôle.

    J'ai aussi cherché du côté des Datagrid, mais je suis rentré bredouille de mes recherche, rien trouvé de pertinent sur ce qui m'intéressait.

    Si quelqu'un a une idée...

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 32
    Par défaut
    Je te conseil l'utilisation d'un <asp:Table> de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <asp:Table ID="Table1" runat="server">
      <asp:TableHeaderRow>
        <asp:TableHeaderCell>
          Nom
        </asp:TableHeaderCell>
        <asp:TableHeaderCell>
          Selection
        </asp:TableHeaderCell>
      </asp:TableHeaderRow>
    </asp:Table>
    Et dans ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    foreach (string s in result)
    {
        TableRow row = new TableRow();
        TableCell nom = new TableCell();
        nom.Controls.Add(new Label() { Text = s });
        TableCell select = new TableCell();
        select.Controls.Add(new RadioButton() { GroupName = "myGroup", Text = "Selection", ID = s });
        row.Cells.Add(nom);
        row.Cells.Add(select);
        Table1.Rows.Add(row);
    }
    Ou result est une collection de string. Tu pourra ainsi utiliser ton FindControl avec le nom qui est affiché. En fait j'ai fait ca pour me simplifier la vie tu peux également donner l'identifiant que tu veux en modifiant le "ID = s".

  3. #3
    Membre éprouvé Avatar de Gunny
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Danemark

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 194
    Par défaut
    Ah super, merci ! Ca a l'air pratique ce contrôle, je ne connaissais pas.

  4. #4
    Membre éprouvé Avatar de Gunny
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Danemark

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 194
    Par défaut
    Ok, ça marche à l'affichage, mais par contre... comment fait-on pour récupérer l'id du radiobutton sélectionné ? Ils ont tous le même groupname, mais la méthode findcontrol ne prend en paramètre qu'un ID.

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 32
    Par défaut
    Le GroupName sert à faire en sorte que l'on ne puisse cocher qu'une RadioBox à la fois. Ca sert à constituer un groupe de RadioButton dont un seul ne peut être selectionné en d'autre termes. C'est l'ID qui est unique et qui permet de trouver le control que tu recherche par la méthode FindControl(...).

  6. #6
    Membre éprouvé Avatar de Gunny
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Danemark

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 194
    Par défaut
    J'avais bien compris, mais je veux justement savoir quel bouton radio mon utilisateur a sélectionné parmi ceux appartenant au même groupe (ici sur ma page je n'en ai qu'un seulde toute façon) pour en récupérer l'ID (qui réfère à un champ de ma base de données).
    Mais vu que je ne connais pas l'ID à l'avance, je ne peux pas utiliser FindControl() en fait.

    J'ai la solution de boucler sur tous les contrôles de la page, mais je suppose qu'il y a un moyen plus simple de faire ça ?

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

Discussions similaires

  1. [WD10] Tableau avec Bouton Radios et Combo
    Par karim.net7 dans le forum WinDev
    Réponses: 2
    Dernier message: 09/11/2010, 17h26
  2. Ouverture d'un état généré à partir d'une requéte à paramètre
    Par Minutemaid dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 06/02/2010, 09h20
  3. Tableau de sélection avec boutons radios
    Par Illuminati dans le forum Langage
    Réponses: 5
    Dernier message: 15/10/2008, 20h11
  4. [JpGraph] Graph généré à partir d'une requête Sql
    Par cyberps2 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 05/06/2008, 13h52
  5. peut on rafraichir une page avec bouton radio?
    Par zorba49 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 06/06/2006, 12h33

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