verschachtelte Repeater

03/12/2009 - 08:43 von Lupus Goebel | Report spam
Hallöschen,

habe da was zusammen gestrickt und bin ja Glücklich das es fast so geht
wie ich es will. Aber nur fast.

Aus der Tabelle "tblAirport" kommen die Überbegriffe und
aus der Tabelle "tblZiele" kommen die Fluggesellschaften und mehr.

Nun sind in der Tabelle tblZiele nicht alle Informationen die ich zum
Anzeigen benötige, denn in Grunde genommen ist die Tabelle "tblZiele"
nur eine Verknüpfung zu der Tabelle "tblAirline".

Für den Innerem Repeater hàtte ich gerne in der SQL keine einzele
Tabelle sondern eine Verknüpfte Abfrage in der mehrere Tabellen
vorkommen. Das habe ich nun nicht hinbekommen.

Als Notbehelf habe ich in meiner Access-Datenbank halt eine Abfrage
erstellen und gespeichert und greife eben auf diese zu. Aber das geht
bestimmt auch anders.


Hier mein Code:

In der default.aspx steht:
\\\
<h1>Flughàfen mit Verbindung nach Irland:</h1>
<asp:Repeater id="Airports" runat="server">
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li>
<%#DataBinder.Eval(Container.DataItem, "Airport")%>
<asp:Repeater id="childRepeater" runat="server"
datasource='<%# Container.DataItem.Row.GetChildRows("myrelation") %>'>
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li>
<%#Container.DataItem("Airline")%><br>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
</li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
///

Und dann habe ich noch:
\\\
Private Sub Page_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles MyBase.Load
Dim cnn As OleDbConnection = New _
OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=|DataDirectory|reisenDB.mdb")

Dim SQLAirport As String

SQLAirport = ("SELECT id, Airport, Staat, AirportLink, Bemerkung " & _
" FROM tblAirport ORDER BY Staat, Airport;")

Dim cmd1 As OleDbDataAdapter = New OleDbDataAdapter(SQLAirport, cnn)
Dim ds As DataSet = New DataSet()

cmd1.Fill(ds, "tblAirport")

Dim SQLAirline As String

'********* Diese Abfrage würde ich gerne verarbeiten ****************
'SQLAirline = ("SELECT tblZiele.AirportID, tblAirline.Airlines " & _
' " FROM tblZiele INNER JOIN tblAirline " & _
' " ON tblZiele.AirlineID = tblAirline.id;")

SQLAirline = ("SELECT AirportID, Airline, AirlineLink FROM tblZiele;")

Dim cmd2 As OleDbDataAdapter = New OleDbDataAdapter(SQLAirline, cnn)

cmd2.Fill(ds, "tblZiele")

ds.Relations.Add("myrelation", _
ds.Tables("tblAirport").Columns("id"), _
ds.Tables("tblZiele").Columns("AirportID"))

Airports.DataSource = ds.Tables("tblAirport")
'Airports.DataSource = ds.Tables("tblAirport")
Page.DataBind()
cnn.Close()
End Sub
///

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 Karsten Samaschke
03/12/2009 - 09:09 | Warnen spam
Am 03.12.09 08:43, schrieb Lupus Goebel:

Als Notbehelf habe ich in meiner Access-Datenbank halt eine Abfrage
erstellen und gespeichert und greife eben auf diese zu. Aber das geht
bestimmt auch anders.



Was ist an einer Abfrage falsch? Die làuft schneller und performanter
als die sonst typischen dynamischen SQL-Statements.

Mit freundlichen Gruessen / Best regards,

Karsten Samaschke
IT-Development, IT-Training, IT-Coaching

Nerd: http://www.aspextra.de
Blog: http://karsan.de
Family: http://www.familyblogger.de
Community: http://www.aspnetzone.de

Sent via MacBook Pro / OS X 10.6 (Snow Leopard)

Ähnliche fragen