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 :

[C#] Compter le nombre de TEXTBOX sur une page ASPX


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 13
    Points : 13
    Points
    13
    Par défaut [C#] Compter le nombre de TEXTBOX sur une page ASPX
    Bonjour

    Je souhaiterai recuperer le nombre de TEXTBOX et DROPDOWNLIST sur une page .

    Le but final est de pouvoir creer une class qui va me permettre de remplir automatiquement mes TXTBOX et DDL sur un select sur un Datagrid
    sans avoir a faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Textbox1.Text=MonDG.SelectedItem.Cells[1].text
    Textbox2.Text=MonDG.SelectedItem.Cells[2].text
    Textbox3.Text=MonDG.SelectedItem.Cells[3].text:
    Merci pour votre aide m'sieur 'dame

  2. #2
    Membre habitué Avatar de prem's
    Inscrit en
    Avril 2003
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 145
    Points : 152
    Points
    152
    Par défaut
    je sais pas comment sont créées les txtBox et DDL que tu utilise, mais si elle peuvent toutes avoir le meme nom (prop "name") dnas ce cas je te conseille d'utiliser la fonciton javascript getElementsByName, qui recupère dans un tableau tous les élement qui ont le meme nom...
    In the name of god, impure souls of the living death shall be banished into eternal damnation. Amen

  3. #3
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Je propose une solution mais normalement Ditch devrait passer par là dans quelques minutes pour dire qu'il y a mieux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim c as Control
    For Each c In Page.FindControl("Form1").Controls
        If TypeOf c Is TextBox Then
            'blabla
        End If
    Next
    Ma syntaxe est en VB.NET désolé... mais ça doit pas être difficile de retranscrire.
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  4. #4
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    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
    private int tb;
    private int ddl;
     
    public void compter() 
    {
        tb=0;
        ddl=0;
        trouverTbEtDdl(this); 
        Response.Write("TextBox : "+tb+"<br/>);
        Response.Write("DropDownList : "+ddl+"<br/>);
    }//changerEtat 
     
    public void trouverTbEtDdl(Control c) 
    { 
        if (c.Controls[i].ToString()=="System.Web.UI.WebControls.DropDownList")
            ddl++;
        else if (c.Controls[i].ToString()=="System.Web.UI.WebControls.TextBox")
            tb++;
        else
            for (int i=0;i<c.Controls.Count;i++) 
                trouverTbEtDdl(c.Controls[i]); 
    }//bloquer
    Ce code à l'avantage d'aller fouiller dans les tableaux

  5. #5
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Citation Envoyé par franculo_caoulene
    Je propose une solution mais normalement Ditch devrait passer par là dans quelques minutes pour dire qu'il y a mieux
    18 minutes... J'suis lent aujourd'hui

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


  6. #6
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Hello

    Bon je galere encore
    Mais je cherche diverses pistes, notemment comment avoir le nom de tous les webcontrols de ma page
    Je pense faire une arraylist, voila le debut de mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ArrayList NomDesWebControls;
    			int i;
    			for (i=0;i<Page.FindControl("Form1").Controls.Count;i++)
    			{
    				NomDesWebControls.Add(
    			}
    Mais voila comment recuperer le nom d mes Webcontrols
    Apres j'aurai plus qu'a prendre ceux qui commence par TextBox

    Merci pour aide

  7. #7
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Page.FindControl("Form1").Controls[i].Name ou .ID

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


  8. #8
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    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
    private ArrayList tb; 
     
    public void compterEtAfficher() 
    { 
        tb=new ArrayList();
        trouverTb(this); 
        Response.Write("Nb de TextBox : "+tb.Count+"<br/>); 
        for (int i=0;i<tb.Count;i++)
            Response.Write(i+" : "+tb[i]+"<br/>); 
    }//changerEtat 
     
    public void trouverTb(Control c) 
    { 
        if (c.ToString()=="System.Web.UI.WebControls.TextBox") 
            tb.Add(c.ID);
        else 
            for (int i=0;i<c.Controls.Count;i++) 
                trouverTb(c.Controls[i]); 
    }//bloquer
    C'est un peu le même code que précédemment en corrigeant les erreurs, enlevant le comptage des DropDownList et maintenant ca prend le nom de toutes tes TextBox puis les compte et les affiche.

  9. #9
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Merci Ditch

    Voici la solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ArrayList NomDesWebControls=new ArrayList();
    			int i;
    			for (i=0;i<Page.FindControl("Form1").Controls.Count;i++)
    			{
    				NomDesWebControls.Add(Page.FindControl("Form1").Controls[i].ClientID.ToString());
    			}
    			DropDownList2.DataSource=NomDesWebControls;
    			DropDownList2.DataBind();
    Allez j'y retourne pour la suite

    Bon Week end !

  10. #10
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Ca marche aussi mais ca n'ira pas fouiller dans les tableaux

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

Discussions similaires

  1. Compter un nombre d'actions sur une durée
    Par Laulo dans le forum SAS Base
    Réponses: 11
    Dernier message: 06/11/2013, 13h03
  2. [MySQL-5.0] Compter le nombre de matériel sur une période
    Par vanitom dans le forum Requêtes
    Réponses: 0
    Dernier message: 20/10/2013, 15h57
  3. Compter le nombre de caractère sur une chaine de caractères
    Par Quentin.vdv dans le forum VBScript
    Réponses: 1
    Dernier message: 05/11/2012, 17h49
  4. compter le nombre de clic sur une image
    Par michel71 dans le forum Langage
    Réponses: 8
    Dernier message: 24/01/2011, 16h24
  5. compter le nombre de requêtes sur une bdd
    Par sp2308 dans le forum Débuter
    Réponses: 4
    Dernier message: 11/01/2011, 23h25

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