| Forum: ASP.NET |
Thema:
DropDownList mit SelectedIndex belegen |
Von:
G. Guest (
20.03.2003 15:59) |
Hallo beisammen,
ich habe eine in einem DataGrid eine DropDownList, welche beim Edit-Command über eine Funktion mit Daten aus einer DB-gefüllt wird.
Wie kann ich es schaffen, dass in der DropDownList dann der bereits bestehende Eintrag vorselektiert wird? Jetzt habe ich zum Beispiel den Namen "Müller" und wenn ich auf Edit klicke, bekomme ich die DropDownList korrekt gefüllt zurück, allerdings mit dem ersten Eintrag (siehe ORDER BY NAME) vorselektiert. Ich möchte dann halt in dem Fall den SelectedIndex auf "Müller" haben. Meine bisherigen Versuche sind irgendwie alle gescheitert.
Der Code sieht ungefähr so aus:
protected DataTable GetName(string Name)
{
string selectCmd = "SELECT NAME FROM TNAME ORDER BY NAME";
OdbcDataAdapter daName = new OdbcDataAdapter(selectCmd,myConnection);
DataSet ds = new DataSet();
daName.Fill(ds, "NAME");
return ds.Tables["NAME"];
}
<ASP:DataGrid id="MyDataGrid" runat="server" AutoGenerateColumns="false" DataKeyField="PPNR" OnUpdateCommand="MyDataGrid_Update" OnCancelCommand="MyDataGrid_Cancel" OnEditCommand="MyDataGrid_Edit" OnSortCommand="MyDataGrid_Sort" AllowSorting="true">
<Columns>
<asp:EditCommandColumn EditText="Edit" CancelText="Cancel" UpdateText="Update" ItemStyle-Wrap="false" />
<asp:TemplateColumn HeaderText="NAME" SortExpression="NAME">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "NAME") %>' />
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList Runat="server"
Id="edit_NAME"
DataSource='<%# GetName((string)DataBinder.Eval(Container.DataItem, "NAME")) %>'
DataTextField="NAME"
DataValueField="NAME" >
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateColumn>
</ASP:DataGrid>
Tausend dank im Voraus
Tom
| Betreff |
Von |
Datum |
|
|
  |
Re: DropDownList mit SelectedIndex belegen
| Hi Tom,<br><br>warum machst du so viele Datenbankverbindungen? <br>Du hast hier NAME zum Quadrat viele Abfragen.<br><br>Mach doch in der Page-Load eine Abfrage und halte das Dataset als protected variable für... |
 |
 |
 |
|
|
Christian
Mairoll
|
20.03.2003 20:00 |
|
|
  |
Re: DropDownList mit SelectedIndex belegen
| Hallo,<br><br>erstmal danke für deine Nachricht.<br>Aber wo mache ich viele DB-Verbindungen?? <br><br>Wie kann ich aber in einer Funktion auf edit_Name innerhalb des DataGrids zugreifen? Ich bekomme immer den... |
 |
 |
 |
|
|
G.
Guest
|
21.03.2003 11:24 |
|
|
  |
Re: DropDownList mit SelectedIndex belegen
| Hallo Tom,<br><br>da du die Datenabfrage erst beim füllen des Datasets hast, wird sie so oft gemacht wie du Einträge in der Tabelle hast mal 2.<br><br>Setz mal einen Breakpoint in der Funktion und schau wie... |
 |
 |
 |
|
|
Christian
Mairoll
|
22.03.2003 20:15 |
|
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!