Bonjour,
Je viens de commencer l'asp.net/vb.net et je cherche à faire des Repeater imbriqué.
J'ai fait pas mal de recherche sur le sujet mais je n'arrive pas à gérer des Repeater imbriqués.
Je simplifie un peu mon problème, j'aimerais faire une liste du genre :
fournisseur1 :
contact11 (fabricant 1)
contact12 (fabricant 2)
distributeur1
distributeur2
fournisseur2 :
contact21 (fabricant 3)
contact22 (fabricant 3)
contact23 (fabricant 3)
distributeur1
fournisseur3 :
distributeur1
etc.
j'utilise la base de donnée suivante :
table fournisseurs :
id_fournisseur
nom_fournisseur
table fabricants :
id_fabricant
nom_fabricant
id_fournisseur
table distributeurs :
id_distributeur
nom_distributeur
table fabricant_distributeur :
id_fabricant
id_distributeur
table contact :
id_contact
nom_contact
id_fabricant
J'ai donc commencé avec le code suivant pour le premier Repeater:
et derrière :
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 <asp:repeater ID="Repeater_fournisseur" runat="server"> <ItemTemplate> <h1><%# Eval("nom_fournisseur") %></h1> <asp:repeater ID="Repeater_fabricant" runat="server"> <ItemTemplate> <h1><%# Eval("nom_fournisseur") %></h1> </ItemTemplate> </asp:repeater> <asp:repeater ID="Repeater_distributeur" runat="server"> <ItemTemplate> <h1><%# Eval("nom_fournisseur") %></h1> </ItemTemplate> </asp:repeater> </ItemTemplate> </asp:repeater>
Par contre j'ai pas trouvé de truc clair pour remplir les 2 autres, si quelqu'un a une idée...
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 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim myConnection As SqlConnection = New SqlConnection() myConnection.ConnectionString = ConfigurationManager.ConnectionStrings("SPIEConnectionString1").ConnectionString myConnection.Open() Dim cmd2 As New SqlCommand("SELECT fournisseurs.nom_fournisseur, fournisseurs.id_fournisseur FROM fournisseurs INNER JOIN sous_famille_fournisseur ON fournisseurs.id_fournisseur = sous_famille_fournisseur.id_fournisseur WHERE(sous_famille_fournisseur.id_sous_famille = @id_sous_famille)", myConnection) cmd2.Parameters.AddWithValue("@id_sous_famille", "1") Dim sqlDa2 As New SqlDataAdapter(cmd2) Dim ds As DataSet = New DataSet() sqlDa2.Fill(ds) Repeater_fournisseur.DataSource = ds Repeater_fournisseur.DataBind() End Sub
Merci d'avance !
Kage
PS : il y a bien quelques docs :
http://support.microsoft.com/kb/306154 par exemple mais c'est pas très clair quand on veut en faire plusieurs...
Partager