Webページにドロップダウンリストコントロールがあります。私は次のようにデータテーブルをドロップダウンリストコントロールにバインドしました-
lstDepartment.DataTextField = "DepartmentName";
lstDepartment.DataValueField = "DepartmentID";
lstDepartment.DataSource = dtDept;
lstDepartment.DataBind();
ページの読み込みイベントでは、他のテーブルフィールドのドロップダウンリストコントロールにデフォルト値を設定します。
これを行う方法?
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;
デフォルト値のアイテムのインデックスがわかっている場合は、
lstDepartment.SelectedIndex = 1;//the second item
または、設定する値がわかっている場合は、
lstDepartment.SelectedValue = "the value you want to set";
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);
そして、キャンセルメソッドで:
lstDepartment.SelectedValue = lstDepartment.Attributes("InitialValue");
そして、あなたの更新方法で:
lstDepartment.Attributes("InitialValue") = lstDepartment.SelectedValue;
他のテーブルのDropDownListコントロールにもDepartmentNameとDepartmentIDが含まれると仮定します。
lstDepartment.ClearSelection();
foreach (var item in lstDepartment.Items)
{
if (item.Value == otherDropDownList.SelectedValue)
{
item.Selected = true;
}
}