2011-11-01 112 views
8

我在我的网页上有一个下拉列表控件。我已经将DataTable绑定到下拉列表控件,如下所示 -如何将默认值设置为下拉列表控件?

lstDepartment.DataTextField = "DepartmentName"; 
    lstDepartment.DataValueField = "DepartmentID"; 
    lstDepartment.DataSource = dtDept; 
    lstDepartment.DataBind(); 
在页面加载事件我想设置的默认值下拉列表控制从我的其他表字段

该怎么办?

回答

0

假设在其他表DropDownList控件还包含DepartmentName的和DepartmentID的:

lstDepartment.ClearSelection(); 

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

后您的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; 
+0

其确切的工作我想要什么。如果值不存在,那么我想设置为空白记录。这个怎么做? – Priyanka

+1

lstDepartment.Items.Insert(0,new ListItem(“”,“”)); –

+1

我已将数据表绑定到下拉列表。我用你的代码将默认值设置为空白。但是它也显示了表中的第0条记录。 – Priyanka

4

,如果你知道缺省值的项目的索引,只

lstDepartment.SelectedIndex = 1;//the second item 

或者如果你知道你想设置的值,只需要

lstDepartment.SelectedValue = "the value you want to set"; 
0
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;