2013-05-08 38 views
-1

我有一個asp:formview。在其編輯模板中,我有6個下拉菜單,這是一對國家,州和城市。FormView中的下拉列表中的數據綁定

要求:

  1. 在頁面加載和國家1得到COUNTRY2填充。
  2. 在國家1和國家2的選定索引位置上,分別填充state1和state2。
  3. 與state1和state2的變化相似,city1和city2將被填充。

  4. 另外我需要幫助綁定窗體,當它在編輯模式下打開。如何綁定基於來自數據庫的值的三個下拉列表

請幫我解決這個問題。

+0

也許一個BindingList可能適合你。 – MethodMan 2013-05-08 05:35:57

+0

這將工作只是改變代碼爲DropDownList http:// stackoverflow工作。com/questions/6164264/bindinglist-with-my-class-populating-a-combobox-using-a-property-of-it – MethodMan 2013-05-08 05:37:54

+0

@DJKRAZE:任何與asp.net formview相關的參考將更加快速和有幫助 – 2013-05-08 05:59:47

回答

0

[更新]正如其他人的建議,我會嘗試簡單的價值綁定到您的下拉菜單,看看是否有效。我知道它總是無法正常工作,因爲我已經完成了下面的解釋(主要是通過Telerik控件,儘管這些小代碼片段不包括這些)。


我太累了編寫代碼爲雅,但有一定的幫助。在Databound的每個下拉列表中,即使您可以通過執行此類操作來確定要選擇的項目。

DropDownList ddl = (DropDownList)sender; 
FormView frmV = (FormView)ddl.NamingContainer; 
string field_value = (frmV.DataItem as DataRowView)[ ddl.DataTextField ].ToString(); 
ListItem lm = ddl.Items.FindByValue (field_value); 
if (lm != null) lm.Selected = true; 

至於在表單視圖做級聯下拉菜單,對你的下拉列表中選擇您的SelectedIndexChanged事件,你需要找到受影響和設置參數,並重新綁定數據他們的其他下拉列表。您可以使用與上述類似的方法,在您的selectedIndexChanged事件中,您通過下拉列表的命名容器獲取表單視圖,然後使用formview的findcontrol獲取您需要修改的其他下拉列表。

我希望有幫助。如果我更清醒,我會給你一個更好的例子。

也是一對夫婦。

1)爲了獲得更好的性能,我會爲您的下拉列表使用web服務,但是我會讓您找出這個問題或者在另一個線程中提問。

2)我注意到有時當我有三個不同的控件綁定到同一個sqlDataSource有時奇怪的事情發生,如果你不小心。像你的國家下降可能是。有時候,我抓住從一個數據集,而不是直接像綁定到它的視圖,該鏈路

http://trappedinhoth.blogspot.com/2008/10/for-reference-getting-datatable.html

3)爲了更好的性能,你可以做很多這在JavaScript中的客戶端。你可以在不同的線程中詢問這個問題:)

這種類型的事情是一種痛苦,但是一旦你做了幾次它就會變得乏味。祝你好運。