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 :

[VB.NET] Repeater & textbox


Sujet :

ASP.NET

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Points : 79
    Points
    79
    Par défaut [VB.NET] Repeater & textbox
    Bonjour,

    J'ai une liste d'article à afficher pour une commande. L'utilisateur veur pouvoir changer tous les quantités et une fois ça : cliquer sur un bouton & enregistrer le tout en masse. J'imagine donc que je vais mettre un table et dans ce table, je vais imbriquer mes TR dans le repeater. Un des TD va représenter la designation de l'article, mais un autre TD va contenir une textbox pour gérer les quantités.

    Le but est de modifier les prix et d'enregistrer après... Mais ce que je ne sais, c'est comment récupérer chaque textbox coté code behind...

    Je suis ouvert @ tout conseil ^^

  2. #2
    Membre régulier Avatar de boleduch
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 124
    Points
    124
    Par défaut
    Hello,

    Pour récupérer le contenu de tes TextBox tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    foreach ( RepeaterItem Item in TonRepeater.Items )
    {
     
       Quantite = ((TextBox)Item.FindControl("IDTextBox")).Text ;
     
    }
    Bon c'est en C#, ne connaisant pas le VB.NET, mais je pense que ca doit pas etre trop dur à adapter.

    Voilà, j'espere que ca t'aidera.

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Points : 79
    Points
    79
    Par défaut
    ok, je vais tester ça en VB.NET, et je sais déjà qu'il n'y aura pas de souci pour transposer le code ^^

    Je ne mets pas encore le tag [Résolu] ^^

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Points : 79
    Points
    79
    Par défaut
    J'ai du ma à comprendre cette ligne en fait :/

    ((TextBox)Item.FindControl("IDTextBox")).Text

  5. #5
    Membre régulier Avatar de boleduch
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 124
    Points
    124
    Par défaut
    Et bien c'est la que tu récupères le controle dont l'id est "IDTextBox" ( dans ton cas ca sera l'id de ton TextBox contenant les quantités ), et ce pour tous les items contenu dans ton repeater avec la boucle foreach.

  6. #6
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Points : 79
    Points
    79
    Par défaut
    Bon, désolé si je suis lourd, mais j'ai du mal à comprendre. voici le code que j'ai fait en VB :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            Dim i As Integer
            Dim RepeaterItem As RepeaterItem
            Dim monTxtResultat As TextBox
     
            For Each RepeaterItem In rpObjectifs.Items
                monTxtResultat = Me.FindControl("txtResultat" & i)
                Response.Write(monTxtResultat.Text)
                i += 1
            Next
    Ce bout de code s'exécute sur le click d'un bouton. Concernant la variable i. Je ne vois donc pas comment je peux récupérer l'ID de la textbox, sachant qu'il y a autant de textbox que j'ai de lignes. Si je regarde le code HTML généré par DOT NET, il me nomme mes textebox en fonction du repeater et de la textbox et il incrémente @ partir de zéro. Donc, si je regarde mon code design, j'ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    			<asp:Repeater Runat="server" ID="rpObjectifs" EnableViewState="True">
    				<ItemTemplate>
    					<TR>
    						<td><%# DataBinder.Eval(Container.DataItem, "LbObjectif")%></td>
    						<td><%# DataBinder.Eval(Container.DataItem, "LbIndicateur")%></td>
    						<td><%# DataBinder.Eval(Container.DataItem, "Ponderation")%></td>
    						<td><%# DataBinder.Eval(Container.DataItem, "Objectif")%></td>
    						<td><asp:TextBox Runat="server" ID="txtResultat" /></td>
    						<td><asp:TextBox Runat="server" ID="txtPerformance" /></td>
    					</TR>
    				</ItemTemplate>
    			</asp:Repeater>
    On remarque donc que mon repeater s'appelle rpObjectifs & ma textbox s'appelle txtResultat.

    Donc coté behind, je n'arrive vraiment pas @ récupérer l'ID comme je le souhaite :/

  7. #7
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Points : 79
    Points
    79
    Par défaut
    autant pour moi, je ne devais pas mettre le i

    Donc ceci est faux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monTxtResultat = Me.FindControl("txtResultat" & i)


    Donc ceci est bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monTxtResultat = Me.FindControl("txtResultat")


    Merci @ toi en tout cas boleduch

  8. #8
    Membre régulier Avatar de boleduch
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 124
    Points
    124
    Par défaut
    J'allais te le dire

    Pas de soucis, content d'avoir pu t'aider!

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

Discussions similaires

  1. [VB.NET] Pb rafraichissement TextBox
    Par thebeb dans le forum ASP.NET
    Réponses: 5
    Dernier message: 01/02/2007, 15h43
  2. [VB.NET] Sauvegarde dans TextBox des logons utilisés
    Par stephane93fr dans le forum ASP.NET
    Réponses: 3
    Dernier message: 27/10/2005, 12h00
  3. [VB.NET] repeater/datagrid dynamique clique d'un bouton
    Par lucie.houel dans le forum ASP.NET
    Réponses: 11
    Dernier message: 19/07/2005, 17h17
  4. [VB.NET] UTF8Encoding et TextBox
    Par Cyrilange dans le forum ASP.NET
    Réponses: 4
    Dernier message: 08/06/2005, 08h41
  5. [VB.NET] Repeater imbriqué
    Par Sadneth dans le forum ASP.NET
    Réponses: 8
    Dernier message: 18/02/2005, 16h31

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