web-dev-qa-db-de.com

wie wird der Standardwert für das Dropdown-Listensteuerelement festgelegt?

Ich habe ein Dropdown-Listen-Steuerelement auf meiner Webseite. Ich habe die Datentabelle wie folgt an das Dropdownlisten-Steuerelement gebunden:

lstDepartment.DataTextField = "DepartmentName";
    lstDepartment.DataValueField = "DepartmentID";
    lstDepartment.DataSource = dtDept;
    lstDepartment.DataBind();

im Seitenladeereignis möchte ich den Standardwert für das Dropdown-Listensteuerelement aus meinem anderen Tabellenfeld festlegen.

wie macht man das?

9
Priyanka

Nach deiner DataBind():

lstDepartment.SelectedIndex = 0;  //first item

or

lstDepartment.SelectedValue = "Yourvalue"

or 
//add error checking, just an example, FindByValue may return null
lstDepartment.Items.FindByValue("Yourvalue").Selected = true;

or
//add error checking, just an example, FindByText may return null
lstDepartment.Items.FindByText("Yourvalue").Selected = true;
26
rick schott

wenn Sie den Index des Standardwerts kennen, einfach

lstDepartment.SelectedIndex = 1;//the second item

oder wenn Sie den Wert kennen, den Sie einstellen möchten, einfach

lstDepartment.SelectedValue = "the value you want to set";
4
ojlovecd
lstDepartment.DataTextField = "DepartmentName";
lstDepartment.DataValueField = "DepartmentID";
lstDepartment.DataSource = dtDept;
lstDepartment.DataBind();
'Set the initial value:
lstDepartment.SelectedValue = depID;
lstDepartment.Attributes.Remove("InitialValue");
lstDepartment.Attributes.Add("InitialValue", depID);

Und in Ihrer Abbruchmethode:

lstDepartment.SelectedValue = lstDepartment.Attributes("InitialValue");

Und in deiner Update-Methode:

lstDepartment.Attributes("InitialValue") = lstDepartment.SelectedValue;
0
Sparhawk_

Angenommen, das DropDownList-Steuerelement in der anderen Tabelle enthält auch DepartmentName und DepartmentID:

lstDepartment.ClearSelection();

foreach (var item in lstDepartment.Items) 
{
  if (item.Value == otherDropDownList.SelectedValue)
  {
    item.Selected = true;
  }
}
0
KBoek