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 :

Générer contrôles indicés à la volée


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut Générer contrôles indicés à la volée
    Bonjour,

    je suis actuellement en train de générer un tableau contenant des RadioBox. Ne sachant pas a priori combien j'en aurai à créer (tout dépend du résultat d'une requête dans une base), je voudrais pouvoir les numéroter ou quelque chose du genre.

    En fait, je voudrai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    int k = 0;
    while (condition)
    {
       créer rbChoixk;
       mCell.Text = "<INPUT type=\"radio\" name=\"rbChoix\" runat=\"server\" id=\"rbChoix" + k + "\">";
       instructions autres;
       ...
       k++;
    }
    Pour au final avoir sur ma page une belle colonne de RadioBox :
    rbChoix1
    rbChoix2
    etc

    C'est faisable ? C'est mauvais comme méthode ?

    Merci d'avance !

    Alban

  2. #2
    Membre expérimenté
    Homme Profil pro
    Consultant SharePoint
    Inscrit en
    Mars 2006
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant SharePoint
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 270
    Par défaut
    ben heu tableau...gridview?? si c'est ca, tu peux ajouter les controles dans n'importe quelle cellule, par ex dans la méthode rowDataBound, en faisant TaRow[indiceCellule].Controls.Add(tonRadio).
    Il faudra biensur au préalable initialiser le radio button avec son Id(par ex radionButton_ligne_colonne), etc...

  3. #3
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    En fait, c'est pour de l'ASP, donc le tableau est un bête "table".

    Pour la génération du tableau en lui-même, c'est fait. Avec ça, je lis bien tous les champs qui m'intéressent.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    int k = 0;
    do
    {
        while (dr.Read())
         {
              mRow = new TableRow();
              mCell = new TableCell();
             mCell.Text = "<INPUT type=\"radio\" name=\"rbChoix\" runat=\"server\" id=\"rbChoix\" value=\"" + k + "\">";
              mRow.Cells.Add(mCell);
     
     
              mCell = new TableCell();
              mCell.Text = dr.GetString(0);
              mRow.Cells.Add(mCell);
     
     
              mCell = new TableCell();
              mCell.Text = dr.GetString(1);
              mRow.Cells.Add(mCell);
     
     
              mTable.Rows.Add(mRow);
     
              k++;
         }
    } while (dr.NextResult());
     
    dr.Close();
    
    Mon problème, c'est qu'ils ne sont pas "déclarés", avec un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Web.UI.WebControls.RadioButton rbChoix = new System.Web.UI.WebControls.RadioButton();
    par exemple.

    Du coup, je ne sais pas comment récupérer celui qui est sélectionné.

    J'ai mis en pièce jointe l'allure de ce que ça donne, mais ce n'est pas une solution figée. Ca me semble pas mal, mais s'il y a plus simple...

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Par défaut
    J'ai du adapter la méthode pour réaliser ça (passage par un datatable, un dataset et un datagrid à la place du tableau), mais finalement, j'ai réussi à trouver.

    Pour ceux qui seraient intéressés, la solution est ici : http://www.datagridgirl.com/rowselector.aspx (en anglais).

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

Discussions similaires

  1. [Conception] Demande conseils : générer des minisites à la volée
    Par Kijer dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/01/2008, 10h47
  2. Comment créer des contrôles indicés en VB2005?
    Par michel perraut dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/09/2007, 13h13
  3. [FPDF] Générer un pdf à la volée
    Par HwRZxLc4 dans le forum Bibliothèques et frameworks
    Réponses: 16
    Dernier message: 14/03/2007, 17h03
  4. [FPDF] générer du PDF à la volée
    Par jibouze dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 04/04/2006, 12h27
  5. générer du PDF à la volée
    Par jibouze dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/04/2006, 10h25

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