Bonjour,
Tout d'abord je tien à précisez que je suis débutant en vb.net, je viens de découvrir le langage car je dois modifié un projet déjà créé. Et je suis un alternant
Après plusieurs recherche sur le net je n'ai toujours pas trouvé de réponse à mon problème, j'ai effectivement trouvé des sujets qui peuvent paraitre similaire mais je n'ai pas résolu mon problème malgré tous donc je pense que je n'ai pas su adapté mon code au problème posé
Donc je m'excuse par avance si se sujet est un doublons
Mon problème :
J'ai deux DropDownList qui sont inclus dans un GridView
Mon GridView comporte 3 modes :
- Edition
- Ajout
- Affichage
- J'ai une première DropDownList qui est rempli par des valeurs recherché en base de donnée via un LinqDatasource (Que l'on nommera par son ID : ddlCaisseWrite) (List qui comporte les lieux de travail d'un employé)
- J'ai une seconde DropDownList qui est aussi rempli par des valeurs en BDD via un autre LinqDataSource ( Que l'on nommera par son ID : ddlFonctionWrite) (List qui comporte les différentes fonctions Métiers des employés selon leur lieu de travail)
Exemple : un employé A qui travaille dans l'agence TOTO ne peux se voir affecté que les fonctions de l'agence TOTO , un employé B dans l'agence TATA n'aura que les fonctions TATA (donc pas TOTO pour TATA réciproquement)
Le problème est tel que : Je n'arrive pas à récupérer la valeur de ma liste ddlCaisseWrite pour complété le LinqDataSource de ma liste ddlFonctionWrite (donc Completé le Where du Linq : Caisse = @caisse)
DONC : Pour résuméer je voudrais que ma liste ddlFonctionWrite s'actualise dynamiquement par rapport à la valeur selectionné dans ma liste ddlCaisseWrite
Tous cela sera plus visuel avec du Code
Pour le code :
GridView :
DropDownList Fonction et Lieu de Travail :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <asp:GridView ID="gvGestionMetiers" runat="server" Width="100%" CssClass="stat" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataSourceID="LinqDataSourceMetier" DataKeyNames="MET_CODE_LOCAL" ShowFooter="True" PageSize="50" EmptyDataText="Aucun métier trouvé" GridLines="Horizontal" AccessKey="2"> <Columns>
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 <asp:TemplateField HeaderText="Caisse" SortExpression="MET_CAISSE"> <EditItemTemplate> <asp:DropDownList CssClass="chosen" ID="ddlCaisseWrite" AssociatedControlID="ddlCaisse" runat="server" Height="20px" DataSourceID="LinqDataSourceCaisse" DataTextField="SOC_LIBELLE" DataValueField="SOC_LIBELLE" SelectedValue='<%# Bind("MET_CAISSE") %>' Width="95%" AutoPostBack="True"> </asp:DropDownList> </EditItemTemplate> <FooterTemplate> <asp:DropDownList CssClass="chosen" ID="ddlCaisseInsert" runat="server" Height="20px" DataSourceID="LinqDataSourceCaisse" DataTextField="SOC_LIBELLE" DataValueField="SOC_LIBELLE" Width="95%"> </asp:DropDownList> </FooterTemplate> <ItemTemplate> <asp:Label ID="lblCaisseRead" runat="server" Text='<%# Eval("MET_CAISSE")%>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Fonction" SortExpression="FCT_CODE"> <EditItemTemplate> <asp:DropDownList CssClass="chosen-search-input" AppendDataBoundItems="True" ID="ddlFonctionWrite" runat="server" Height="20px" DataSourceID="LinqDataSourceFonction" DataTextField="Libelle" DataValueField="Code" SelectedValue='<%# Bind("FCT_CODE") %>' Width="95%"> <asp:ListItem Enabled="False" Value=""></asp:ListItem> </asp:DropDownList> </EditItemTemplate> <FooterTemplate> <asp:DropDownList CssClass="chosen" ID="ddlFonctionInsert" runat="server" Height="20px" DataSourceID="LinqDataSourceFonction" DataTextField="Libelle" DataValueField="Code" Width="95%"> </asp:DropDownList> </FooterTemplate> <ItemTemplate> <asp:Label ID="lblCode" runat="server" Text='<%# Eval("FCT_CODE")%>'></asp:Label> <asp:Label ID="lblfonction" runat="server" Text='<%# Eval("GetFonctionLibelle")%>'></asp:Label> </ItemTemplate> </asp:TemplateField>
LinqDatasource pour les Lieux :
LinqDataSource pour les fonctions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <asp:LinqDataSource ID="LinqDataSourceCaisse" runat="server" ContextTypeName="Referentiel_da.REFERENTIEL_CEHDFDataContext" EntityTypeName="" TableName="SOCIETE"></asp:LinqDataSource>
J'espère avoir réussi a exprimé mon problème assez clairement et avoir donné assez de ressources Code pour vous permettre de m'aider.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <%---DataSource des Fonctions--%> <asp:LinqDataSource ID="LinqDataSourceFonction" runat="server" ContextTypeName="Referentiel_da.REFERENTIEL_CEHDFDataContext" TableName="FonctionEds" EntityTypeName="" OrderBy="Caisse,Libelle" Select="new (Libelle, Code, Caisse)" Where="Caisse = @caisse"> <WhereParameters> <asp:ControlParameter Name="caisse" ControlID="ddlCaisseWrite" PropertyName="SelectedValue" Type="String" DefaultValue="" ConvertEmptyStringToNull="false" /> </WhereParameters> </asp:LinqDataSource>
Merci d'avance
Cordialement
Partager