Verknuepfte Tabellen

27/11/2009 - 08:23 von Lupus Goebel | Report spam
Hallöschen,

bin eben etwas begriffsstutzig.

Habe eine Tabelle mit den Flughàfen (tblAirport), dort gibt es eine [ID]
zu jedem [Flugplatz]
Dann eine Tabelle mit den Fluggesellschaften (tblAirline), dort ein Feld
[AirportID] und jede Menge [Airline]

Die ID (Autowert) aus tblAirport ist mit der AirportID Verknüpft.

Ich möchte nun die Daten in einer Tabelle oder als <dl> wie folgt
darstellen:

[Flugplatz] --> ID = 1
[AirportID]= 1 Airline A
[AirportID]= 1 Airline B
[AirportID]= 1 Airline C

[Flugplatz] --> ID = 2
[AirportID]= 2 Airline A
[AirportID]= 2 Airline C
[AirportID]= 2 Airline D


In ASP Classic habe ich das über einen Recordset und Response.Write
gelöst. Doch wie löst man das am besten in ASP.NET?

MfG - Lupus Goebel
Der Sumpf- Morasthobbybastler und Anfaenger mit
Wissensdurst (http://www.lupusdw.de http://foto.lupusdw.de)
Urlaub macht man in Irland: http://www.eaglesnest-bb.com/
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
27/11/2009 - 10:43 | Warnen spam
Hallo Lupus,

"Lupus Goebel" schrieb:

In ASP Classic habe ich das über einen Recordset und Response.Write gelöst. Doch wie löst man das am besten in ASP.NET?



ich würde zwei verschachtelte Repeater nehmen. Der àußere für die
Flughàfen, der innere für die Airlines des jeweiligen Flughafens.
Das könnte bspw. so aussehen:



<asp:Repeater ID="Airports" runat="server">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li>
Ausgabe des Flughafennamens
<asp:Repeater ID="Airlines" runat="server">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li>
Airline
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>



Private Sub Airports_ItemDataBound( ... ) Handles Airports.ItemDataBound

If e.Item.ItemType <> ListItemType.Item AndAlso e.Item.ItemType <> ListItemType.AlternatingItem Then
Exit Sub
End If

Dim DataSource As <IrgendwasWasAlsDatenquelleDient> = GetAirlines( e.Item.DataItem... )
Dim Airlines As Repeater = CType( e.Item.FindControl( "Airlines" ), Repeater )

Airlines.DataSource = DataSource
Airlines.DataBind()

End Sub



HTH

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen