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 :

[ASP.NET2.0][C#]Probleme Dropdownliste dans un Detailsview


Sujet :

ASP.NET

  1. #1
    Membre du Club Avatar de akli2008
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 43
    Points
    43
    Par défaut [ASP.NET2.0][C#]Probleme Dropdownliste dans un Detailsview
    Bonjour a tous,
    je m'excuse j'ai trop ecrit question d'etre plus claire:

    j'ai deux dropdownlists (dropdownliste1 et dropdownlist2) que j'ai mis dans un detailsviews en transformant
    2colonnes(wilaya et ville) d'une table en TemplateField et tout ca en mode edtion(EditItemTemplate).
    pour cela j'ai configuré le dropdownliste1(liste des wilaya) a un sqldatasource1 avec la SelectCommand:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     "SELECT DISTINCT [wilaya] FROM [table_ville]"
    et j'ai configuré le dropdownliste2(liste des ville) a un sqldatasource2 avec la SelectCommand:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT [ville] FROM [table_ville]
    en executant ca marche bien le seul probleme c'est que je veux lié les deux dropdownliste de facon a n'avoir que les villes qui appartiennent a la wilaya selectionné
    sachant que chaque ville appartient a une seule wilaya(c'est defini dans ma table)
    ma solution me donne ceci: lorsque je selectionne une wilaya puis je vai selectionner une ville j'ai toute la liste des villes meme celles qui n'appartiennent pas a la wilaya selectionnée.
    *j'ai pensé a faire dans le sqldatasource2(celui des villes) une commande du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT [ville] FROM [table_ville] WHERE wilaya=la source
    mais la source ne me permet pas de selectionner le dropdownliste1(celui des wilaya).
    si vous avez d'autres propositions ou solutions n'hesitez pas a les poster merci a tous.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 619
    Points
    1 619
    Par défaut
    utilise asp.net ajax et utilise le control cascadingDropDownList. ca te selectionne ta 2ème dropdown en fonction de la 1ere.

  3. #3
    Membre du Club Avatar de akli2008
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    merci rattlehead,j'ai essayé cascadingDropDownList de ajax mais j'ai pas bien compris son fonctionnement et en plus je ne sais pas comment l'utiliser avec une base de donnée et aussi comment le mettre dans le Detailsview en mode edition .
    si vous pouver bien me detailler les choses sinon si il ya d'autres propostions n'hesiter pas.merci a tous.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 619
    Points
    1 619
    Par défaut
    tu as une 1ere drop down dans laquelle tu mets ta 1ere liste provenant de ta base et ta 2ème dropdown tu utilises soit un web service soit une methode static qui se trouve dans ta page que tu fournis au paramètre de ta 2ème dropdown. globalement c'est pareil que dans l'exemple qui est sur le site d'asp.net ajax.
    en mode edition dans un detailview tu crées un editItemtemplate dans lequel tu mets ton cascadingdropdown.

  5. #5
    Membre du Club Avatar de akli2008
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    merci encore..je croix que je suis vraiment nul car je ne sais pas comment faire une methode ni un service web,j'ai trouvé dans les archives qu'il fallait utiliser une formview au lieu d'un detailsview,mais le probleme reste le meme car avec une formview on trouve le controle dropdown de la wilaya en faisant(where wilaya= le control dropdownlist)mais en executant la page et en cliquant sur Edit de la formview j'ai l'erreur suivante:
    'DropDownList1' has a SelectedValue which is invalid because it does not exist in the list of items.
    Parameter name: value
    voici le code:du formview:désolé si c'est long mais je suis vraiment perdu
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
     
    <asp:FormView ID="FormView1" runat="server" DataKeyNames="code_agence" DataSourceID="SqlDataSource1">
                <EditItemTemplate>
                    code_agence:
                    <asp:Label ID="code_agenceLabel1" runat="server" Text='<%# Eval("code_agence") %>'></asp:Label><br />
                    directeur_agence:
                    <asp:TextBox ID="directeur_agenceTextBox" runat="server" Text='<%# Bind("directeur_agence") %>'></asp:TextBox><br />
                    adresse:
                    <asp:TextBox ID="adresseTextBox" runat="server" Text='<%# Bind("adresse") %>'></asp:TextBox><br />
                    ville:
                    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataSourceID="SqlDataSource2"
                        DataTextField="ville" DataValueField="ville" SelectedValue='<%# Bind("ville") %>'>
                    </asp:DropDownList>
                    <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:rechercheConnectionString %>"
                        SelectCommand="SELECT [ville] FROM [table_ville] WHERE ([wilaya] = @wilaya)">
                        <SelectParameters>
                            <asp:ControlParameter ControlID="DropDownList2" Name="wilaya" PropertyName="SelectedValue"
                                Type="String" />
                        </SelectParameters>
                    </asp:SqlDataSource>
                    <br />
                    wilaya:
                    <asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" DataSourceID="SqlDataSource3"
                        DataTextField="wilaya" DataValueField="wilaya" SelectedValue='<%# Bind("wilaya") %>'>
                    </asp:DropDownList>
                    <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:rechercheConnectionString %>"
                        SelectCommand="SELECT [wilaya] FROM [table_ville]"></asp:SqlDataSource>
                    <br />
                    tel:
                    <asp:TextBox ID="telTextBox" runat="server" Text='<%# Bind("tel") %>'></asp:TextBox><br />
                    fax:
                    <asp:TextBox ID="faxTextBox" runat="server" Text='<%# Bind("fax") %>'></asp:TextBox><br />
                    ID_barauto:
                    <asp:TextBox ID="ID_barautoTextBox" runat="server" Text='<%# Bind("ID_barauto") %>'></asp:TextBox><br />
                    ID_barvoy:
                    <asp:TextBox ID="ID_barvoyTextBox" runat="server" Text='<%# Bind("ID_barvoy") %>'></asp:TextBox><br />
                    <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update"
                        Text="Update"></asp:LinkButton>
                    <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
                        Text="Cancel"></asp:LinkButton>
                </EditItemTemplate>
                <InsertItemTemplate>
                    code_agence:
                    <asp:TextBox ID="code_agenceTextBox" runat="server" Text='<%# Bind("code_agence") %>'>
                    </asp:TextBox><br />
                    directeur_agence:
                    <asp:TextBox ID="directeur_agenceTextBox" runat="server" Text='<%# Bind("directeur_agence") %>'>
                    </asp:TextBox><br />
                    adresse:
                    <asp:TextBox ID="adresseTextBox" runat="server" Text='<%# Bind("adresse") %>'>
                    </asp:TextBox><br />
                    ville:
                    <asp:TextBox ID="villeTextBox" runat="server" Text='<%# Bind("ville") %>'>
                    </asp:TextBox><br />
                    wilaya:
                    <asp:TextBox ID="wilayaTextBox" runat="server" Text='<%# Bind("wilaya") %>'>
                    </asp:TextBox><br />
                    tel:
                    <asp:TextBox ID="telTextBox" runat="server" Text='<%# Bind("tel") %>'>
                    </asp:TextBox><br />
                    fax:
                    <asp:TextBox ID="faxTextBox" runat="server" Text='<%# Bind("fax") %>'>
                    </asp:TextBox><br />
                    ID_barauto:
                    <asp:TextBox ID="ID_barautoTextBox" runat="server" Text='<%# Bind("ID_barauto") %>'>
                    </asp:TextBox><br />
                    ID_barvoy:
                    <asp:TextBox ID="ID_barvoyTextBox" runat="server" Text='<%# Bind("ID_barvoy") %>'>
                    </asp:TextBox><br />
                    <asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True" CommandName="Insert"
                        Text="Insert">
                    </asp:LinkButton>
                    <asp:LinkButton ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
                        Text="Cancel">
                    </asp:LinkButton>
                </InsertItemTemplate>
                <ItemTemplate>
                    code_agence:
                    <asp:Label ID="code_agenceLabel" runat="server" Text='<%# Eval("code_agence") %>'></asp:Label><br />
                    directeur_agence:
                    <asp:Label ID="directeur_agenceLabel" runat="server" Text='<%# Bind("directeur_agence") %>'></asp:Label><br />
                    adresse:
                    <asp:Label ID="adresseLabel" runat="server" Text='<%# Bind("adresse") %>'></asp:Label><br />
                    ville:
                    <asp:Label ID="villeLabel" runat="server" Text='<%# Bind("ville") %>'></asp:Label><br />
                    wilaya:
                    <asp:Label ID="wilayaLabel" runat="server" Text='<%# Bind("wilaya") %>'></asp:Label><br />
                    tel:
                    <asp:Label ID="telLabel" runat="server" Text='<%# Bind("tel") %>'></asp:Label><br />
                    fax:
                    <asp:Label ID="faxLabel" runat="server" Text='<%# Bind("fax") %>'></asp:Label><br />
                    ID_barauto:
                    <asp:Label ID="ID_barautoLabel" runat="server" Text='<%# Bind("ID_barauto") %>'></asp:Label><br />
                    ID_barvoy:
                    <asp:Label ID="ID_barvoyLabel" runat="server" Text='<%# Bind("ID_barvoy") %>'></asp:Label><br />
                    <asp:LinkButton ID="EditButton" runat="server" CausesValidation="False" CommandName="Edit"
                        Text="Edit"></asp:LinkButton>
                    <asp:LinkButton ID="DeleteButton" runat="server" CausesValidation="False" CommandName="Delete"
                        Text="Delete"></asp:LinkButton>
                    <asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" CommandName="New"
                        Text="New"></asp:LinkButton>
                </ItemTemplate>
            </asp:FormView>
    j'ai trouvé un lien (le voila :http://www.mikepope.com/blog/display...permalink=1629qui repond normalement a ma question mais apres plusieurs essais toujours non resolu,pardonnez moi mais je suis un debutant perdu en asp.net car ca fait 4 jours que je traine avec ce probleme,merci a tous.

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 619
    Points
    1 619
    Par défaut
    je ne vois pas où tu as mis le cascadingdropdown.
    sinon insertItemTemplate et EditItemTemplate c'est la même chose. enleve le insertItemTemplate.
    en fait ce sont les autopostback je pense qui pose problème. essaye de mettre la proprieté enableViewState de ta dropdownlist1 à true.

  7. #7
    Membre du Club Avatar de akli2008
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    merci.mais pour cette solution j'ai pas utilisé ajax mais j'ai mis enableViewState de ma dropdownlist1 à true et ca ne marche pas ,toujour la meme erreur
    ('DropDownList1' has a SelectedValue which is invalid because it does not exist in the list of items.
    Parameter name: value ).merci a tous pour votre aide.

  8. #8
    Membre du Club Avatar de akli2008
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    ouffff,voila j'ai trouvé la solution juste un petit probleme c'est que a la premiere execution de la page le dropdown enfant n'est pas affiché (il affiche un dropdown vide)malgres que le dropdown parent affiche une wilaya mais des qu'on choisit une wilaya le dropdown enfant s'allimente.je veu lors de l'execution de la page avoir le drop down enfant(celui des villes)affichée..si vous avez une solution n'hesitez pas merci a tous.
    voici le code qui fallait mettre dans la page.cs:
    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
    public partial class Default4 : System.Web.UI.Page
    {
     
     
        protected void FormView1_ItemInserting(object sender, FormViewInsertEventArgs e)
        {
            if (Page.IsValid)
            {
    //Retrouver le contrôle formulaire.
     //C'est lui qui a déclenché l'évènement ItemInserting.
     FormView formulaire = (FormView)sender;
     //Retrouver le contrôle de la liste déroulante des villes.
     //Il est encapsulé dans le modèle InsertItemTemplate du formulaire.
     DropDownList listeDesVilles = (DropDownList)formulaire.FindControl("DropDownList1");
     //Récupérer la valeur (correspondant à l'ID) de la ville sélectionnée
     string strville = listeDesVilles.SelectedValue;
     //Mettre à jour le buffer des données à insérer dans la source de données
     //Utiliser le paramètre de l'évènement qui contient une collection des valeurs
     //de l'enregistrement.
     e.Values["ville"] = (strville) ;
     //Poursuivre l'action d'insertion normalement
     e.Cancel = false;
     
    }
    else
        e.Cancel = true;
        }
     
    }
    j'attend votre aide pour regler ce petit probleme.

  9. #9
    Membre du Club Avatar de akli2008
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 43
    Points
    43
    Par défaut
    ****c'est bon c'est resolu****
    il falait juste permuter les dropdown1 et dropdown2 dans le script de la page.aspx.
    voila comment faire : avant c'etait <dropdown1>....</dropdown1>
    <dropdown2>....</dropdown2>

    il falait juste permuter:la solution <dropdown2>....</dropdown2>
    <dropdown1>....</dropdown1>
    merci a tous.

  10. #10
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Avril 2004
    Messages : 78
    Points : 56
    Points
    56
    Par défaut
    Bonjour,

    Je suis confronté au même problème mais es-tu sûr qu'on ne peut pas le faire dans un detailsview?

    En plus je ne comprends pas très bien la solution que tu proposes car dans ton code on ne voit qu'un seul dropdownlist.

    Peut-on en discuter par mail?

    Merci
    Fab

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

Discussions similaires

  1. Lier un dropdownlist dans un detailsView
    Par casa_sniper dans le forum ASP.NET
    Réponses: 0
    Dernier message: 29/04/2014, 02h10
  2. Réponses: 3
    Dernier message: 21/07/2010, 09h22
  3. [ASP 1.1] Ajouter un DropDownList dans le footer d'un DataGrid
    Par User.Anonymous dans le forum ASP.NET
    Réponses: 4
    Dernier message: 02/05/2008, 13h32
  4. [asp.net2] Probleme avec GridView
    Par mikky dans le forum ASP.NET
    Réponses: 7
    Dernier message: 21/02/2007, 16h38
  5. [C# ASP.Net2.0] problem avec le type string
    Par wodel dans le forum ASP.NET
    Réponses: 5
    Dernier message: 17/01/2007, 14h03

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