2011-11-01 29 views
8

Tôi có một điều khiển danh sách thả xuống trên trang web của mình. Tôi đã liên kết dữ liệu với điều khiển danh sách thả xuống như sau -cách đặt giá trị mặc định thành điều khiển danh sách thả xuống?

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

trong sự kiện tải trang, tôi muốn đặt giá trị mặc định thành danh sách thả xuống từ trường bảng khác của tôi.

cách thực hiện việc này?

Trả lời

0

Giả sử rằng sự kiểm soát DropDownList trong bảng khác cũng chứa DepartmentName và DepartmentID:

lstDepartment.ClearSelection(); 

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

Sau khi bạn 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

của nó làm việc một cách chính xác những gì tôi muốn. Nếu giá trị không có thì tôi muốn đặt thành bản ghi trống. làm như thế nào? – Priyanka

+1

lstDepartment.Items.Insert (0, ListItem mới ("", "")); –

+1

tôi đã liên kết dữ liệu với danh sách thả xuống. tôi đã sử dụng mã của bạn để đặt giá trị mặc định thành trống. nhưng sau đó nó cũng hiển thị bản ghi thứ 0 từ bảng. – Priyanka

4

nếu bạn biết chỉ số của mặt hàng đó có giá trị mặc định, chỉ cần

lstDepartment.SelectedIndex = 1;//the second item 

hoặc nếu bạn biết giá trị bạn muốn đặt, chỉ

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); 

Và trong phương pháp hủy của bạn:

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

Và trong phương pháp cập nhật của bạn:

lstDepartment.Attributes("InitialValue") = lstDepartment.SelectedValue; 
Các vấn đề liên quan