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 :

problème de bindings avec DropDownList


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 35
    Par défaut problème de bindings avec DropDownList
    J'ai une table SQL avec les champs CategoryID, UserID, Name

    J'ai un GridViews et dans ce GV j'ai un TemplateField DropDownList.

    Pour le EditItemTemplate tout va bien. L'accès à ma table sql va super bien.
    Mais pour ItemTemplate ça ne marche pas du tout. Pourtant c'est quasiment identique que le code du EditItemTemplate à l'exception du Enable qui est False.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    asp:DropDownList ID="pictureReadOnlyCategories" runat="server" DataSourceID="SqlDataSource1"
                            DataTextField="Name" DataValueField="CategoryID"
                            Style="position: static" Enabled="False" SelectedValue='<%# Bind("CategoryID") %>'>
    </asp:DropDownList>
    J'ai l'erreur suivante:

    'pictureReadOnlyCategories' a un SelectedValue qui n'est pas valide, car il n'existe pas dans la liste des éléments.
    Nom du paramètre : value

    Sur le net j'ai vu quelques personne qui ont le même problème, mais personne ne semble avoir trouvé la cause.

    Je comprend pas pourquoi le DropDownList du ItemTemplate n'arrive pas a communiquer avec SelectedValue.

    Avez vous une idée sur cette question ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 35
    Par défaut
    Je pense avoir découvert mon problème. Je vais y travailler. Désoler de vous avoir déranger

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 194
    Par défaut
    Bonjour,
    SVP si vous avez trouvé le problème, décrivez le pour que tout le monde en profite.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 35
    Par défaut
    Oui je comprend. Mais pour ma part je ne l'ai pas trouvé, c'est juste que je crois être sur une fausse piste pour le résoudre. En fait j'ai deux tables, une Categories qui a les champs suivant. CategoryID(PK), UserID, Name. La table Pictures possede plusieurs champs donc CategoryID(SK).

    J'ai un GridView, elle affiche la table Pictures. C'est dans cette affichage que j'ai un problème. Pour Editer Pictures.CategoryID j'utilise un DropDownList lié à la table Categories pour que l'utilisateur puisse faire un choix disponible.

    Mon problème c'est que j'aimerais afficher dans mon GridView Categories.Name selon la valeur de Pictures.CategoryID, et c'est la que mon manque de connaissance me fait cruellement défaut. Je me débat depuis 2 jours avec ce problème en utilisant la méthode essais-erreur.

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 194
    Par défaut
    Bonsoir,
    Je crois que c'est impossible d'afficher une information qui n'existe pas dans ta table. En effet, étant donné que la table Picture ne contient que le champ CategorieID (FK) sans le nom de cette catégorie qui se trouve dans une autre table. Le GridView n'affiche que les champs de la table à laquelle il est lié. Pour pouvoir afficher le nom à la place du ID, il faut créer une vue qui joint les deux tables (Picture et Categorie) dont les champs sont ceux de la table Picture plus CategorieNom.
    Comme ça je crois que tu reglera le problème.

    Je crois que je me suis mal exprimé , mais pour résumer je dirai :
    La raison pour laquelle ça marche pour EditItemTemplate c'est que la ligne est en mode édition, ce qui fait que tous les champs sont éditable et modifiable, cela permet d'afficher des informations venant de plusieurs tables.

    mais pour le ItemTemplate, c'est un simple affichage du contenu de la table, donc impossible d'afficher des informations venant en dehors de la table en question.

    enfin, je crois que c'est ça.
    salut

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 35
    Par défaut
    Disons que j'aurais les donnés suivante dans ma table Categories.

    CategoryID(PK) UserID Name
    1 5 Famille
    2 6 Amis

    Et dans ma table Picture j'aurais ceci

    PictureID(PK) CategoryID(FK) Commentaire
    1 2 Super fête!


    Dans un GridView j'ai la table Picture que je peux éditer. Pour ce qui est de Picture.CategoryID c'est un DropDownList car le choix doit être sois null ou soit un choix existant de Categories. J'arrive à afficher la donné 2 de Picture.CategoryeID, mais j'aimerais que ca sois plus simple pour l'utilisateur et afficher ce qui correspond au 2, sois le mot Amis. En gros c'est ca mon problème. Je sais pas si ca peux vous aidé à m'aidé hehehe


Discussions similaires

  1. Problème de binding avec IsSynchronizedWithCurrentItem
    Par leSeb dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 28/10/2009, 12h14
  2. problème de binding avec un controle utilisateur
    Par EmacLi dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 06/10/2009, 21h17
  3. C# Net - Problème de Binding avec DataSet
    Par Anified dans le forum C#
    Réponses: 0
    Dernier message: 21/09/2009, 02h00
  4. Problème de Binding avec un formulaire
    Par vilveq dans le forum Flex
    Réponses: 7
    Dernier message: 06/08/2009, 11h03
  5. Problème de Binding avec un UserControl
    Par birdyz dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 20/02/2009, 12h31

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