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 dans une FormView avec SqlDataSource


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Par défaut DropDownList dans une FormView avec SqlDataSource
    BOnjour à tous,

    Après recherche sur Google et sur Developpez je n'arrive pas à trouver réponses à mes questions.

    J'ai un formview auquel je bind des données via un SqlDataSource.
    Dans la FormView je rajoute un DropDownList dans le EditItemTemplate

    J'aimerais savoir :
    1 - A quel moment remplir cette dropdownlist car quand je lui associe un SqlDatSource ca ne marche pas
    2 - Comment binder un champ de mon SqlDatSource du FormView au SelectedValue de ma DropDownList sachant que partout j'ai vu "selectedValue='<%# bind('champ');%>' ne marche pas chez moi car ca ne compile pas (msg d'erreur : La propriété 'SelectedValue' ne peut pas être définie de manière déclarative. )

    Quel est le meilleur moyen de faire tout ca ?

    Sinon quelqu'un a un lien qui explique de manière rapide comment faire une architecture simple avec formview + sql datasource + couche BO ?

    Thx

  2. #2
    CUCARACHA
    Invité(e)
    Par défaut Mais si mais si...
    Salut

    Essaye une truc comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                            <asp:DropDownList ID="ddl" runat="server" DataSourceID="sds" DataValueField="Identification"
                                DataTextField="txtNom" SelectedValue='<%# Bind("DonneurOrdre") %>'
                                AppendDataBoundItems="True" Width="150px">
                                <asp:ListItem Text="" Value="-1"></asp:ListItem>
                            </asp:DropDownList>
    ++

    Laurent

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Par défaut
    Non le SelectedValue empeche la compilation

    msg d'erreur : La propriété 'SelectedValue' ne peut pas être définie de manière déclarative.

  4. #4
    CUCARACHA
    Invité(e)
    Par défaut Cette application est en ASP.net 3.5
    Salut,

    Mon application est en ASP.net 3.5 (Visual Studio 2008).

    Je t'avoue ne pas l'avoir testé avec une version antérieure.

    Quoi qu'il en soit, s'il faut le faire par le code il suffit d'une ligne dans OnDataBound

    Cet événement se produit après que la liste ait été remplie. Il te suffit donc d'écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    myDDL.SelectedValue = strValueToSelect;
    ++

    Laurent

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Par défaut
    Ouaih mais on perd le databinding automatique et ca nous fait rajouter du code :s

    argg

  6. #6
    CUCARACHA
    Invité(e)
    Par défaut Tu peux aussi passer à 3.5...
    Re,

    Si tu es en ASP.net 2, le passage au 3.5 est garanti sans douleur...

    Essayes

    ++

    Laurent

  7. #7
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Je fait ce genre de binding sans problème en 2.0, je vois un point virgule en trop dans ton code par contre (sans pouvoir être certain que ton problème est là).

  8. #8
    CUCARACHA
    Invité(e)
    Par défaut C#
    Salut,

    Je suis en C#, normal qu'il y ait un ; à la fin. Mais le sujet est d'automatiser le databinding sans code.

    ++

    Laurent

  9. #9
    CUCARACHA
    Invité(e)
    Par défaut Ahh oui
    Effectivement, je pensais que tu parlais de mon code. C'est dans le sien qu'il y a un ; en trop.

    ++

    Laurent

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Par défaut
    le ; n'est pas en trop il est juste facultatif, la n'est pas le problème.

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2009
    Messages : 133
    Par défaut
    Bonjour,
    C'est curieux que ce sujet ait été laissé en suspend !
    Rappel :
    VS2008+SQL2005+C#, FormView+DropDownList dans EditItemtemplate : ce cocktaik explose si l'on tente de manière déclarative d'effectuer un Bind automatique, SelectedValue empêche la compilation avec un jolie message d'erreur :
    msg d'erreur :
    La propriété 'SelectedValue' ne peut pas être définie de manière déclarative.
    Personne même chez Microsoft n'a de solution à nous apporter ?
    Merci par avance.
    nachtigal.

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 310
    Par défaut
    Non Microsoft n'a pas su m'apporter de réponse à part "en 3.5 ca fonctionne".

    je suis en 2.0 rien à battre de 3.5 j'ai des contraintes clientèles je dois faire avec ça. Donc toujours preneur pour la réponse

  13. #13
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Marrant que ce sujet remonte. J'ai un soucis équivalent.
    'ListOfCurrencies' a un SelectedValue qui n'est pas valide, car il n'existe pas dans la liste des éléments.
    J'ai :
    1. Une FormView pour gérer des enregistrements d'une table.
    2. Un custom control qui me donne une liste de devises: identifiant(entier sous forme de chaine), abbréviation(chaine).
    3. Je veux relier le champ contenant l'identifiant de la devise à ma liste.
    4. En base cet identifiant est un entier lors du biding le contrôle vérifie que la valeur de la devise dans l'enregistrement correspond à un élément de la liste.
    5. plantage. Je pense qu'il s'agit d'un pb de différence de type "int" vs "string".
    Une idée?

    Début de piste: Step 3: Using the Calendar Control to Display the HireDate Field
    "Winter is coming" (ma nouvelle page d'accueil)

  14. #14
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Je viens de faire ce qui est dit dans ce post et ça marche bien. Je crois que mon controle de liste de devises est buggé...
    "Winter is coming" (ma nouvelle page d'accueil)

  15. #15
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2009
    Messages : 133
    Par défaut
    Immobilis, j'ai regardé attentivement ce qui est dans le post en question, mais cela ne résoud pas le problème. Je suis en .NET 3.5 et VS2008, et impossible de compiler :
    La propriété 'SelectedValue' ne peut pas être définie de manière déclarative.
    La seule manière reste de passer manuellement, par l'événement DataBound ; c'est un peut lourd, mais ça le fait.
    Il semblerait que dans certaines conditions - qu'il reste à déterminer - et pour certaines configurations, VS2008 ne reconnait pas certaines propriétés du DropDownList (SelectedValue, AppendNullItem, etc), il faut alors tout traiter en codeBehind.
    Inutile de nous répondre que chez vous ça marche, ou qu'il faille passer en .NET 3.5 ; nous sommes déjà plusieurs à avoir remarqué ce comportement curieux de VS2008, et nous ne sommes certainement pas tous bourrés. Peut-être est-ce le SP1 qui est en cause, j'en sais rien ! Cela me donne une idée, je vais tenter de reproduire plusieurs configurations sous vmware et chercher à reproduire ce fameux bug. Je vous tiendrais au courant.
    nachtigal.

Discussions similaires

  1. Dropdownlist dans un formview + sqldatasource
    Par marric01 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 31/07/2012, 01h03
  2. Tabulation dans une form avec entrée
    Par Cl@rk dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/05/2008, 12h09
  3. Inclure une page dans dans une tableau avec javascript
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/09/2005, 12h31
  4. TForm dans une DLL avec utilisation d'Interface
    Par guedelmalin dans le forum Langage
    Réponses: 13
    Dernier message: 17/06/2005, 11h58
  5. navigation dans une jsp avec javascript
    Par petitelulu dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/11/2004, 18h55

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