我使用ObjectDataSource綁定了自定義對象。我有三級綁定:一個DropDownList(Department)過濾下一個DropDownList(Category)過濾GridView(問題)。每個ObjectDataSource綁定到前一個控件的SelectedValue(當然除了第一個)。ASP.NET三級數據綁定
一切工作正常只能到下一個級別(部門到類別和類別的問題)。當我更改部門時,類別列表會正確更新,但顯示的問題來自先前選擇的類別。
我怎樣才能讓這個三級綁定正常工作?我無法弄清楚我是否錯過了一些東西。如果必須的話,我可以在第一個列表上實現SelectedIndexChanged並手動強制更新網格,但這並不理想。謝謝你的幫助!
有點多信息:我沒有默認的「選擇一個項目」選項。這意味着當我更改部門時,會自動選擇第一個類別。我希望這個綁定能夠足夠聰明,從而一路下滑。這足夠聰明,我不必做if(!IsPostBack){//加載數據}。
我目前已經實現了Department_SelectedIndexChanged()並且簡單地完成了一個Questions.DataSource = Questions.DataSource ;.這似乎正確地「刷新」了一切。有一個更好的方法嗎?
由於是數據綁定,我將如何「清除」網格?我正在使用回傳。另請參閱上面的「更多信息」一節。謝謝! – 2010-02-24 16:47:51
嘿,grid.DataSource = null; grid.DataBind()可以做到這一點。您必須擁有!Page.IsPostBack代碼,或者至少在每次回發時檢查下拉列表的狀態。 – 2010-02-24 18:38:36
我試着做DataSource = null,DataBind(),但它總是落後一步。 DataSource = DataSource做了詭計,但目前我無法解釋爲什麼。無論如何,感謝您的幫助。 – 2010-02-28 01:01:34