Hi Liste -
also ich habe drei DDLs wie folgt:
<asp:DropDownList id="ddlMarke" AutoPostBack="True" OnSelectedIndexChanged="fillddlModell" runat="server"></asp:DropDownList>
<asp:DropDownList id="ddlModell" AutoPostBack="True" OnSelectedIndexChanged="fillddlTyp" runat="server"></asp:DropDownList>
<asp:DropDownList id="ddlTyp" runat="server"></asp:DropDownList>
alle ddls bekommen einen startwert:
ddlMarke.Items.Add("-- Hersteller w�hlen --")
ddlModell.Items.Add("-- Modell w�hlen --")
ddlTyp.Items.Add("-- Typ w�hlen --")die ddlMarke wird mit Daten aus einer DataTable gef�llt, sobald das Control aufgerufen wird.
w�hlt ma nun eine Marke aus, wird die funktion filldllModell aufgerufen, die mir die zu der Marke
geh�rigen Modelle in die ddl f�llt.
das funktioniert auch wunderbar. code hierf�r:
'Funktion, die dem ddlMarke die Hersteller zuordnet
Sub filldllMarke(filterExp As String)
Dim sortExp As String = "hersteller ASC"
Dim neuerEintrag As String = ""
Dim drArray As DataRow()
drArray = CType(HttpContext.Current.Cache("fahrzeuge"),DataTable). _
Select(filterExp,sortExp,DataViewRowState.CurrentRows)
Dim i As Integer
for i=0 to drArray.length-1
if NOT drArray(i)("hersteller").ToString() = neuerEintrag Then
ddlMarke.Items.Add(drArray(i)("hersteller").ToString())
neuerEintrag = drArray(i)("hersteller").ToString()
End If
next
End Sub
nun soll das spiel ja weitergehen. wenn ich nun ein modell ausw�hle, soll die ddl mit den dazugeh�rigen typen gef�llt werden, was die funktion filldllTyp bewerkstelligen soll, die eigentlich im grunde genauso aussieht, wie die fillddlModell:
'Funktion, die dem ddlTyp die Fahrzeug-Typen zuordnet
Sub fillddlTyp(sender As Object, e As System.EventArgs)
Dim filterExp As String = "fahrzeugart='"& fahrzeugart _
& "' AND hersteller='" & ddlMarke.SelectedItem.Text.toString.Trim() & "' AND modell='" _
& ddlModell.SelectedItem.Text.toString.Trim() & "'"
lbTest.Text = filterExp
Dim sortExp As String = "typ ASC"
Dim neuerEintrag As String = ""
Dim drArray As DataRow()
drArray = CType(HttpContext.Current.Cache("fahrzeuge"),DataTable). _
Select(filterExp,sortExp,DataViewRowState.CurrentRows)
Dim i As Integer
for i=0 to drArray.length-1
if NOT drArray(i)("typ").ToString() = neuerEintrag Then
ddlTyp.Items.Add(drArray(i)("typ").ToString())
neuerEintrag = drArray(i)("typ").ToString()
End If
next
End Sub
nur hier funktioniert es irgendwie nicht.
ich habe in meiner modell-ddl mehrere modelle. wenn ich eines ausw�hle, macht er auch einen postback nur:
a) bleibt er nicht auf dem selektierten modell, sondern springt immer auf "-- Modell w�hlen --"
b) was wohl damit zusammenh�ngt, wenn ich das aktuell ausgew�hlte modell mit ddlModell.SelectedItem.Text.toString.Trim() abfrage, bekomme ich immer den string "-- Modell w�hlen --" zur�ck, obwohl ich ja was anderes angew�hlt habe.
wie kann den sowas passieren ? ? ?
habe keinen plan, was ich da falsch mache. bitte helft mir runter vom schlauch. :-/
tom
_______________________________________________ Asp.net Mailingliste, Postings senden an: [email protected] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net
