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 :

Affichage des valeurs d'une DropDownList imbriqué dans un GridView


Sujet :

ASP.NET

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    1 026
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 026
    Billets dans le blog
    45
    Par défaut Affichage des valeurs d'une DropDownList imbriqué dans un GridView
    Bonjour à tous,

    Le contexte:

    Environnement:
    • Visual Web Dev 2010 Express
    • VB.Net
    • Dev. par IHM objet


    Projet

    Un DropDownList1
    • Associé à un DataSet1


    Un GridView2
    • Associé à un DataSet2
    • En cascade avec le DropDownList1 => Les lignes affichées dépendent de la valeur sélectionnée dans le DropDownList1


    Un DropDownList3
    • Associé à un DataSet3
    • Imbriqué dans un champ1 du GridView2
    • Qui affiche à la place de la valeur du champs, un libellé correspondant. Ce champ étant une clé externe.


    Tout est Ok jusque là.

    Question:

    Comment faire pour que le DropDownList3 n'affiche qu'une seule ligne correspondant à la valeur du champ et non pas toutes les itérations du DataSet3 auquel il est associé?
    En effet, en mode Lecture, je ne veux pas que le DropDownList3 affiche toutes les lignes ramenées par le DataSet3.

    Voilà, j'espère avoir été suffisamment clair !

    Et merci pour votre aide !!!!

  2. #2
    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
    Salut
    Citation Envoyé par informer Voir le message
    Associé à un DataSetX
    Tu veux dire "Bindé"?

    Je comprend pas bien l'organisation de tes contrôles. Tu peux nous poster une petite copie d'écran?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    1 026
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 026
    Billets dans le blog
    45
    Par défaut Précision
    Bonjour Immobilis,

    Merci pour ton aide!

    Objectif

    Il est d'avoir en mode :
    1. Affichage le libellé correspondant à "idTypeResa" qui est une clé étrangère provenant de la table "tblTypeResa"
    2. Edition une DropDownList avec tous les enregistrements de la table "tblTypeResa".


    Pour info, c'est pompé sur le livre ASP.NET avec VB.NET sous visual studio 2008 Edition ENI, pages 293-294.

    Tu peux voir directement sur ce site, les pages indiquées ci-dessus. Faut juste scrollé

    En page 294, il parle de code sous-jacent ??? et le code est sous une classe partial déclarée comme suit:

    Partial class jointure_aux
    inherit system.web.UI.Page

    Je ne sais pas d'où ça sort.

    CODE ASPX*


    Extrait code pour le Gridview
    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
     
    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
                        AllowSorting="True" AutoGenerateColumns="False" BackColor="White" 
                        BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" CellPadding="4" 
                        DataKeyNames="idCongres" DataSourceID="AccessDataSource3" Height="200px">
                        <Columns>
                            <asp:CommandField ShowDeleteButton="True" ShowSelectButton="True" 
                                ShowEditButton="True" ShowInsertButton="True" />
                            <asp:ImageField DataImageUrlField="Images" HeaderText="Image">
                                <ControlStyle Height="50px" Width="50px" />
                                <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Wrap="True" />
                            </asp:ImageField>
                            <asp:TemplateField ConvertEmptyStringToNull="False" 
                                HeaderText="idTypeReservation" SortExpression="idTypeReservation">
                                <EditItemTemplate>
                                    <asp:DropDownList ID="DropDownList4" runat="server" 
                                        DataSourceID="DataSetTypeResa" DataTextField="libelle" 
                                        DataValueField="idTypeReservation">
                                    </asp:DropDownList>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="Label2" runat="server" 
                                        Text='<%# getLibTypeResa(Eval("idTypeResa")) %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateField>
                            <asp:BoundField DataField="Libelle" HeaderText="Libelle" 
                                SortExpression="Libelle" />
                            <asp:BoundField DataField="dateResaDebut" DataFormatString="{0:dd/MM/yyyy}" 
                                HeaderText="dateResaDebut" SortExpression="dateResaDebut">
                                <ItemStyle Wrap="False" />
                            </asp:BoundField>
                            <asp:CheckBoxField DataField="actifTotal" HeaderText="actifTotal" 
                                SortExpression="actifTotal" />
                        </Columns>
                        <FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
                        <HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
                        <PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
                        <RowStyle BackColor="White" ForeColor="#003399" />
                        <SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
                        <SortedAscendingCellStyle BackColor="#EDF6F6" />
                        <SortedAscendingHeaderStyle BackColor="#0D4AC4" />
                        <SortedDescendingCellStyle BackColor="#D6DFDF" />
                        <SortedDescendingHeaderStyle BackColor="#002876" />
                    </asp:GridView>
     
    <asp:AccessDataSource ID="DataSetTypeResa" runat="server" 
            DataFile="~/App_Data/OCC_v9.1.0Web.accdb" 
            SelectCommand="SELECT * FROM [rTypeResa_ShortList]"></asp:AccessDataSource>
        <asp:AccessDataSource ID="AccessDataSource4" runat="server" 
            DataFile="~/App_Data/OCC_v9.1.0Web.accdb" 
            SelectCommand="SELECT DISTINCT [libelle], [idAgence] FROM [rAgence_List] ORDER BY [libelle]">
        </asp:AccessDataSource>
        <asp:AccessDataSource ID="AccessDataSource3" runat="server" 
            DataFile="~/App_Data/OCC_v9.1.0Web.accdb" 
            SelectCommand="SELECT * FROM [rCongres] WHERE ([idTypeReservation] = ?)" 
                OldValuesParameterFormatString="original_{0}">
            <SelectParameters>
                <asp:ControlParameter ControlID="DropDownList3" Name="idTypeReservation" 
                    PropertyName="SelectedValue" Type="Int32" />
            </SelectParameters>
            </asp:AccessDataSource>
        <asp:GridView ID="GridView2" runat="server">
        </asp:GridView>
    Partie du code du Gridview posant un problème: Text='<%# getLibTypeResa(Eval("idTypeResa")) %>'></asp:Label>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <asp:TemplateField ConvertEmptyStringToNull="False" 
                                HeaderText="idTypeReservation" SortExpression="idTypeReservation">
                                <EditItemTemplate>
                                    <asp:DropDownList ID="DropDownList4" runat="server" 
                                        DataSourceID="DataSetTypeResa" DataTextField="libelle" 
                                        DataValueField="idTypeReservation">
                                    </asp:DropDownList>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="Label2" runat="server" 
                                        Text='<%# getLibTypeResa(Eval("idTypeResa")) %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateField>
    CODE ASPX.VB*


    Pour tester si aucune génération d'erreur mais en ERREUR

    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
    Public Class WebForm1
        Inherits System.Web.UI.Page
     
     
        Protected Function getLibTypeResa(ByVal id As Object) As String
            If id Is Nothing OrElse Not id.GetType().Equals(GetType(Integer)) Then Return ""
            Dim idValue As Integer = CType(id, Integer)
     
            Dim dsa As 
            Try
                Return "Test"
            Catch ex As Exception
                Return "Error"
            End Try
        End Function
    End Class
    Objectif à atteindre même si incertain sur le code

    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
    Public Class WebForm1
        Inherits System.Web.UI.Page
     
     
        Protected Function getLibTypeResa(ByVal id As Object) As String
            If id Is Nothing OrElse Not id.GetType().Equals(GetType(Integer)) Then Return ""
     
            Dim idValue As Integer = CType(id, Integer)
     
            Try
                Dim dsa As DataSetTypeResa = new DataSetTypeResa ()
                Dim da as New  DataSetTypeResaTableAdaptaters.TypeResaAdaptater()
                da.fill (dsa.tblTypeResa)
     
                Return dsa.agence.FindByidTypeResa(idTypeResa).libelle
            Catch ex As Exception
                Return "Error"
            End Try
        End Function
    End Class
    Merci encore une fois pour ton aide et à très bientôt

  4. #4
    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
    Citation Envoyé par informer Voir le message
    Je ne sais pas d'où ça sort.
    C'est un mode de développement qui sépare le code "inline" (balises HTML) du code "behind". Cela produit plusieurs fichiers.
    Citation Envoyé par informer Voir le message
    Pour tester si aucune génération d'erreur mais en ERREUR
    Et si tu essayais simplement en faisant ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Class WebForm1
        Inherits System.Web.UI.Page
        Protected Function getLibTypeResa(ByVal id As Object) As String
                Return "Test"
        End Function
    End Class
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    1 026
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1 026
    Billets dans le blog
    45
    Par défaut Erreur résolue
    Bonjour Immobilis,

    Une discussion est toujours bénéfique, car après ton message, je me suis rendu compte que le nom de la variable pour l'EVAL était mal orthographié.

    En effet, je faisais une EVAL(idTypeResa) alors que le nom de la variable est idTypeReservation.

    Maintenant cela fonctionne très bien . J'espère finir mon code sans erreur pour clore le post mais si ce n'est pas le cas je te solliciterai de nouveau

    Merci encore pour ton aide.

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/04/2014, 20h42
  2. Affichage des données d'une table MySQL dans un ListView selon l'id
    Par loviso dans le forum Composants graphiques
    Réponses: 0
    Dernier message: 30/07/2012, 16h28
  3. affichage des valeurs d'une table de hash
    Par Nifaste dans le forum Langage
    Réponses: 1
    Dernier message: 10/11/2011, 10h34
  4. Réponses: 0
    Dernier message: 13/12/2010, 09h34
  5. Recherche et affichage des valeurs d'une liste
    Par sat478 dans le forum Excel
    Réponses: 4
    Dernier message: 18/01/2009, 17h52

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