2009-07-21 68 views
0

我有一個正在從數據庫填充的下拉列表。這工作正常。控件的非選擇值是-1,非選擇標籤是「..」。當我嘗試打開現有記錄進行編輯時,我似乎無法選擇正確的行。 ID有三個部分:111A-DD-12345。當記錄從數據庫返回時,ID被解析爲三個字段。第一部分和第三部分是頁面上的文本框,但中間部分是一個下拉列表。當我們打開一個現有的記錄,我們解析出ID用下面的代碼:設置正確的下拉列表行不起作用

string[] chunks = cID.Split('-'); 
ddOffice.SelectedItem.Text = chunks[1]; 

但這只是改變了DDL的第一行,以DD(使用上面的例子ID),所以我們出現了兩個ddl中具有相同顯示文本的行。如何以編程方式將下拉列表設置爲正確的值?

編輯:我們也試過 ddOffice.SelectedValue = chunks [1] ,但是它只是顯示默認的未選擇的行..

TIA, 特里薩

回答

1

試試這個:

ddOffice.SelectedIndex = ddOffice.Items.IndexOf(ddOffice.Items.FindByText(chunks[1])); 
+1

我總是發現使用該索引的工作遠比使用該文本框的文本值更可靠。文本處理可能不可靠。 – joshlrogers 2009-07-21 21:38:51

+0

謝謝你,馬修!這工作完美。 – Theresa 2009-07-21 22:11:55

0

(編輯)你設置當前的SelectedItem的Text屬性,而不是設置selectedItem本身。根據您的數據來源,請設置SelectedIndex或SelectedValue。