nmorgen, ich hab Dir ein Beispiel gebastelt.
Wenn Du den Pfad zu Deiner Northwind.mdb
erg�nzt, dann funktioniert es sogar.
Das erste Problem kommt vielleicht daher, dass
Du bei jedem Postback die DropDownList neu
an die urspr�nglichen Daten bindest,
deshalb if(!IsPostBack).
Dann kannst Du die DropDownList gleich an die
Tabelle im DataSet binden und bestimmen, welche
Kolumne den Value und welche den Text liefern soll.
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="c#" runat="server" debug="true">
void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string strConnection, strSQL;
DataSet objDataSet = new DataSet();
OleDbConnection objConnection = null;
OleDbDataAdapter objAdapter = null;
strConnection =
"Provider=Microsoft.Jet.OleDb.4.0;";
strConnection +=
@"Data Source=C:\...\Northwind.mdb";
strSQL =
"SELECT EmployeeID, LastName FROM Employees;";
objConnection =
new OleDbConnection(strConnection);
objAdapter =
new OleDbDataAdapter(strSQL, objConnection);
objAdapter.Fill(objDataSet, "Angestellte");
ddlNamen.DataSource =
objDataSet.Tables["Angestellte"].DefaultView;
ddlNamen.DataTextField = "LastName";
ddlNamen.DataValueField = "EmployeeID";
ddlNamen.DataBind();
}
lblAuswahl.Text = ddlNamen.SelectedItem.Text;
}
</script>
<html>
<body>
<form runat="server">
<p>
<asp:label ID="lblAuswahl" runat="server" />
</p>
<p>
<asp:DropDownList
id="ddlNamen"
runat="server"
AutoPostBack="True" />
</p>
</form>
</body>
</html>
Sch�nes Wochenende
Matthias
> -----Urspr�ngliche Nachricht-----
> Von: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]
> Auftrag von Stadelmann Patrick
> Gesendet: Freitag, 4. April 2003 19:06
> An: [EMAIL PROTECTED]
> Betreff: [Asp.net] DropDownList Problem
>
>
> nabend,
>
> ich hab in meinem aspx file eine DropDownList die
> wie folgt aussieht:
> <asp:DropDownList id="bundesland"
> runat="server"></asp:DropDownList>
>
> ich f�lle diese DropDownList aus der Datenbank
> heraus, dazu mach ich ein
> dataSet
> wo ich die ben�tigten werte in ein ArrayList
> speichere, dass ich dann mit
> DataSource in
> die DropDownList f�lle.
> Hier der Code dazu:
>
> ArrayList arrBundesland = new ArrayList();
> foreach(DataRow Bundesland in
> dataSet.Tables["shp_bundesland"].Rows)
> {
>
> arrBundesland.Add(Bundesland["bezeichnung"].ToString());
> }
> bundesland.DataSource = arrBundesland;
> bundesland.DataBind();
>
> Soweit funktioniert alles recht gut, wenn ich nun
> abfragen m�chte, welcher
> Wert in der
> DropDownList ausgew�hlt wurde, gibt er mir immer
> nur den ersten Wert zur�ck.
> Ich frage mit folgendem Befehl den ausgew�hlten Wert ab.
> string wert = bundesland.SelectedItem.Text;
>
> Das komische daran ist, wenn ich die DropDownList
> statisch f�lle, also nicht
> aus der
> Datenbank heraus, dann klappt es und er liefert
> mir den Wert, der wirklich
> ausgew�hlt wurde
> und nicht immer nur den ersten. Weis jemand woran
> das liegt?
>
>
>
> Wenn ich schon bei DropDownList bin, hab ich noch
> eine zweite Frage, weis
> jemand, wie ich,
> wenn ich die DropDownList aus der Datenbank
> heraus f�lle, die value und den
> text unterschiedlich
> mache? Wenn ich die Liste mit DataSource f�lle
> schreibt er mir den Wert in
> das Attribut Text und in das Attribut Value
> hinein. Komm nicht drauf, wie
> ich das trennen k�nnte, das ich in Value eine
> ID und in Text einen Bezeichnung hineinf�lle.
>
>
> danke
> Patrick
>
>
> _______________________________________________
> Asp.net mailing list
> [EMAIL PROTECTED]
> http://www.glengamoi.com/mailman/listinfo/asp.net
>
>
_______________________________________________
Asp.net mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/asp.net