2013-05-06 25 views
0

當我點擊編輯按鈕表格填充文本框中的數據庫值以及下拉列表..如何在編輯中將下拉列表值和項目設置爲數據庫表格值?

設置文本框的值。但我無法設置下拉列表值。

代碼是;

SqlConnection con = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString); 
con.Open(); 
string str = "Select * from Master where Id='" + id + "'"; 
SqlCommand command = new SqlCommand(str, con); 
SqlDataReader reader = command.ExecuteReader(); 
while (reader.Read()) 
{ 
     ddCustomerName.DataValueField = reader["CustomerId"].ToString(); 
     txtPickupLocation.Text = reader["Location"].ToString(); 
} 
con.Close(); 

回答

1
use selectedvalue property 

while (reader.Read()) 
{ 
    ddCustomerName.SelectedValue= reader["CustomerId"].ToString(); 
    txtPickupLocation.Text = reader["Location"].ToString(); 
} 
+0

嚴其工作... – Saranya 2013-05-06 06:40:18

+0

好...投票,如果它的工作:) – 2013-05-06 06:43:25

2

你必須在客戶在選擇的列表中,你必須寫

ddCustomerName.Items.FindByValue(reader["CustomerId"].ToString()).selected=true; 

,而不是

ddCustomerName.DataValueField = reader["CustomerId"].ToString(); 
2

嘿Saranya先前的職位是完美的,但如果下拉值與DB值不匹配,或者下拉值不是由Db返回的值,則會發生錯誤,因此安全方總是檢查n也值。

請使用此代碼

if (ddCustomerName.Items.FindByValue(reader["CustomerId"].ToString()) != null) 
     dddCustomerName.Items.FindByValue(reader["CustomerId"].ToString()).selected = true; 
相關問題