2009-11-02 55 views
0

早上好!我本人和一名同事負責系統範圍的腳本解決方案,但我們都不是.NET程序員,所以我們需要您的幫助。基於收音機選擇的動態下拉菜單

我們有一個圖形用戶界面,顯示一個無線電選擇框(3個選項),這是我們醫院的三個站點。我們需要在表格上的下拉菜單中填寫基於所選廣播選項的位置。

my gui http://web6.twitpic.com/img/40330741-85d91a5637f2445b322e62df17cf3351.4aef01c5-full.jpg

下面是代碼後面我們至今(對不起,VB)

Public Class frmCEHLI 

Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click 

End Sub 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    'TODO: This line of code loads data into the 'CELocDataSet.dbo_Locations' table. You can move, or remove it, as needed. 
    Me.Dbo_LocationsTableAdapter.Fill(Me.CELocDataSet.dbo_Locations) 

End Sub 

Private Sub btnSubmit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSubmit.Click 


    MsgBox("Submit button has been pressed") 

End Sub 
End Class 

對於那些給我們帶來的所有記錄中的位置下拉目前數據綁定,但它是一個靜態的SELECT語句但是如果它只返回基於網站的位置,我們更希望它更乾淨。我們使用Visual Basic 2008 Express Edition進行開發。任何幫助/代碼表示讚賞,謝謝!

回答

1

對不起,不要早點回復,忙,並想挖掘一個樣品,只是你需要做的。

在窗體上創建兩個組合框。您可以綁定任何固定值,也可以綁定第一個組合的表格。然後,從屬性/事件表中,首先將「AutoPostBack」設置爲TRUE,然後在事件上單擊「SelectedIndexChanged」事件以調出一些代碼。

「發件人」對象參數將成爲組合框本身,因此您可以通過調試來分析屬性設置以找到選定的鍵/值。

然後,從您的數據查詢控件,業務對象或任何獲取您的結果的任何查詢(例如DataSet或DataTable)運行查詢。

最後,將第二個組合的數據源設置爲上述結果查詢,設置dataTextField和DataValueField,並將DataBind()發佈到組合中。

這應該正是你所需要的。

然後,當有人從第二個組合中進行選擇時,您可以在ITS「SelectedIndexChanged」事件(也基於其窗體上的AutoPostBack或實際提交按鈕)中包含代碼。

希望這會有所幫助。

+0

太棒了,非常感謝! – SQLChicken

0

我會創建兩個組合框控件...一個用於「位置」,然後由用戶在InteractiveChange事件中發回到使用該位置的第二個組合框的答案的頁面,該位置基於「where 「第一個組合的價值。

+0

謝謝。這實際上是我們的原始解決方案,但我們無法弄清楚如何編寫動態代碼,使第二個組合框根據第一個框中的選擇更改其值。 – SQLChicken