[asp.net/vb.net] Repeater imbriqués
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:
Code:
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> |
et derrière :
Code:
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 |
Par contre j'ai pas trouvé de truc clair pour remplir les 2 autres, si quelqu'un a une idée...
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...