我已經綁定我的列表框到一些數據。如何在調用tableAdapter的Fill()方法時防止改變selectedValue?
問題是當我調用myTableAdapter.Fill(..)方法時,SelectedValue更改爲列表中的第一個項目ID。儘管VS中的「選定的值」在任何地方都沒有綁定(見圖)。 alt text http://img370.imageshack.us/img370/2548/ss20090108212745qz2.png
我該如何預防這種行爲?
非常感謝您的幫助。
我已經綁定我的列表框到一些數據。如何在調用tableAdapter的Fill()方法時防止改變selectedValue?
問題是當我調用myTableAdapter.Fill(..)方法時,SelectedValue更改爲列表中的第一個項目ID。儘管VS中的「選定的值」在任何地方都沒有綁定(見圖)。 alt text http://img370.imageshack.us/img370/2548/ss20090108212745qz2.png
我該如何預防這種行爲?
非常感謝您的幫助。
您不應該對每個請求都具有約束力。如果由於某種原因必須綁定每個請求,則必須手動在ListBox上設置SelectedIndex。這是因爲Fill方法首先清除列表,然後爲獲取的數據創建新的列表項。
我能想到的最簡單的方法是改變你的表適配器填充代碼是這樣的:
string preSelected = myDropDownList.SelectedValue;
myTableAdapter.Fill(myDataTable);
myDropDownList.SelectedValue = preSelected;
你會遇到一個問題,如果該項目不存在了,所以你可能要添加一個條件來檢查。