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 :

DropDownList & repeater


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Programmeur PHP
    Inscrit en
    Août 2009
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Israël

    Informations professionnelles :
    Activité : Programmeur PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 244
    Points : 114
    Points
    114
    Par défaut DropDownList & repeater
    Bonjour,
    Je finis par poster parceque apres avoir beaucoup cherche, je ne vois pas...

    Voila, J'ai place une DDL dans un repeater.
    La DDL est relie au champ d'un objet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <repeater>
    <asp:DropDownList ID="DDLQuantity" runat="server" 
            DataSource='<%# DataBinder.Eval(Container.DataItem, "AvaibleQuantity")%>' 
            AutoPostBack="True" onselectedindexchanged="DDLQuantity_SelectedIndexChanged">
                                    </asp:DropDownList>
    </repeater>
    Je souhaiterai pouvoir initialiser un des champs de l'objet corespondant a la dropdownlist.
    Le probleme, c'est que "onselectedindexchanged" ne comprend pas l'objet auquel la DDL est sense etre relier.

    Autrement dit: Que dois je faire pour que ma DDL soit relier avec son objet de la liste.

    Pour plus de detail, j'ai un objet Comande, qui contient (entre autres 2 champs)
    1) La quantite d'un produit dans le stock (celle ci est instancie au chargement de la page par sa valeur corespondante dans la bdd)
    2) La quantite que l'utulisateur souhaite commander (celle ci est mise a 1 par defaut, et si l'utilisateur le veut, il peut changer sa valeur dans la DDL).

    Voila, j'espere avoir ete claire.
    Une petite aide me ferra le plus grand bien.
    merci....

  2. #2
    Membre régulier
    Homme Profil pro
    Programmeur PHP
    Inscrit en
    Août 2009
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Israël

    Informations professionnelles :
    Activité : Programmeur PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 244
    Points : 114
    Points
    114
    Par défaut Resolution
    Bon,
    je pense avoir trouve reponse a mon probleme ici

  3. #3
    Membre régulier
    Homme Profil pro
    Programmeur PHP
    Inscrit en
    Août 2009
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Israël

    Informations professionnelles :
    Activité : Programmeur PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 244
    Points : 114
    Points
    114
    Par défaut j'enleve le resolu
    Ben, non
    finnalement ca ne marche pas

  4. #4
    Membre régulier
    Homme Profil pro
    Programmeur PHP
    Inscrit en
    Août 2009
    Messages
    244
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Israël

    Informations professionnelles :
    Activité : Programmeur PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 244
    Points : 114
    Points
    114
    Par défaut Cette fois ci c'est bon
    Pour ceux que ca interesse, voici mon code
    dans le aspx j'ai ajoute les evenements suivants au repeater:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <asp:Repeater ID="Repeater1" runat="server" 
                        OnItemCreated="Repeater1_ItemCreated" OnInit="Repeater1_Init" 
                        OnPreRender="Repeater1_PreRender">
    implementes comme suit dans le code behind:
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    protected void Repeater1_Init(object sender, EventArgs e)
            {
                Repeater1.DataSource = HttpContext.Current.Session["ToOrderList"];
            }
     
            protected virtual void Repeater1_ItemCreated(object sender, RepeaterItemEventArgs e)
            {
                ToOrderList = (List<BL.BE.ToOrder>)HttpContext.Current.Session["ToOrderList"];
                DDL_quantity = (DropDownList)e.Item.FindControl("DDLQuantity");
                CB_isSelected = (CheckBox)e.Item.FindControl("CheckBox1");
                if (CB_isSelected != null)
                    CB_isSelected.CheckedChanged += CheckBox1_CheckedChanged;
     
                if (DDL_quantity != null)
                    DDL_quantity.SelectedIndexChanged += DDLQuantity_SelectedIndexChanged;
     
                HttpContext.Current.Session["ToOrderList"] = ToOrderList;
     
            }
     
     
     
            protected void Repeater1_PreRender(object sender, EventArgs e)
            {
                 if (((List<BL.BE.ToOrder>)HttpContext.Current.Session["ToOrderList"])!=null)
                {
                    int amount = 0;
                    ToOrderList = (List<BL.BE.ToOrder>)HttpContext.Current.Session["ToOrderList"];
     
                    foreach (ToOrder item in ToOrderList)
                    {
                        if(item.IsSelected)
                            amount += (item.UnitPrice * item.QuantitytoOrder);
                    }
                    AmountLabel.Text = amount.ToString()+" $";
                }
            }
     
            protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
            {
                CheckBox c = (CheckBox)sender;
                RepeaterItem rep = (RepeaterItem)c.Parent;
                (ToOrderList[rep.ItemIndex]).IsSelected = c.Checked;
            }
            protected void DDLQuantity_SelectedIndexChanged(object sender, EventArgs e)
            {
                DropDownList d = (DropDownList)sender;
                RepeaterItem rep = (RepeaterItem)d.Parent;
                (ToOrderList[rep.ItemIndex]).QuantitytoOrder = Convert.ToInt32(d.SelectedValue);
            }

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

Discussions similaires

  1. [Debutant] repeater et dropdownlist
    Par manue_grognon dans le forum ASP.NET
    Réponses: 2
    Dernier message: 15/04/2008, 15h10
  2. [VB.net] dropdownlist dans repeater
    Par agnes huchon dans le forum ASP.NET
    Réponses: 1
    Dernier message: 08/11/2006, 11h06
  3. Bug sur autopostback d'un dropdownlist dans un repeater
    Par agnes huchon dans le forum ASP.NET
    Réponses: 1
    Dernier message: 08/11/2006, 11h00
  4. Réponses: 1
    Dernier message: 14/05/2006, 11h50
  5. [C#] DropDownList dans un Repeater
    Par boleduch dans le forum ASP.NET
    Réponses: 3
    Dernier message: 27/02/2006, 14h44

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