2017-04-09 137 views
0

我需要從查詢結果中更新下拉列表的顯示值。如何從SQL select中更改下拉列表的值?

這是一個使用sql數據庫的c#中的asp.net webform,需要在代碼隱藏中處理所有數據。

此頁面旨在更新建築物表格。 建築物表格包含與公司表格中的公司代碼相對應的公司代碼。

在頁面加載時,我打電話給GetCompanyCodes()並使用公司提供的公司代碼填寫下拉列表。然後我調用BindForm()來填充另外兩個文本框和表單上的一個複選框,使用一個存儲過程來加入公司表,並返回建築表中列出的companyID的相應公司代碼。

我無法想象如何做的是當我從Building表加載數據時,更改下拉列表的顯示值。

我沒有問題設置其他控件的值,只是下拉菜單。

有關如何實現此目的的任何建議?

+0

有噸的例子在線如何做到這一點...... – CodingYoshi

+0

那麼你必須更好地選擇正確的關鍵字,因爲我的研究導致我尋求幫助,因爲我一直沒有能夠提供有用的資源。 小心分享一個你知道的例子嗎? – user3691838

+0

顯示您的BindForm的代碼 – CurseStacker

回答

0

比方說,這是由它被設置爲DropDownList的數據源SqlDataSource返回的數據:你應該去的DropDownList

enter image description here

現在,在DropDownList顯示的公司名稱任務,然後選擇數據源。然後在數據源配置嚮導窗口中,選擇CompanyName作爲顯示字段,將CompanyId作爲值字段。稍後,如果您想更新DropDownList,只需撥打DataBind()方法即可。

this.DropDownList1.DataBind(); 
0

最簡單的方法就是這樣,通過指定源文本和值字段。

protected void Button1_Click(object sender, EventArgs e) 
{ 
    DropDownList1.DataSource = loadFromDataBase(); 
    DropDownList1.DataValueField = "ID"; 
    DropDownList1.DataTextField = "Name"; 
    DropDownList1.DataBind(); 
} 
+0

謝謝!這有助於解決問題的一部分,我發佈了一個包含第二個問題的答案。現在我已經創建了一個新的,關心這個以及協助? – user3691838

+1

在sql查詢中,您使用'@ CompanyID',而在參數中使用'@ Company_ID'。 – VDWWD

+0

哇,我一直盯着這麼久,我甚至沒有注意到。這照顧到了「必須聲明」的錯誤,但是當我調用我的更新方法時,下拉菜單中仍然沒有任何價值。 – user3691838

0

好吧,所以我能夠得到我想要的值,但現在我無法訪問其他呼叫的下拉值。

@VDWWD,你糾正了問題的一部分 - 我打電話.SelectedValue和.DataTextField是什麼伎倆。

問題的另一部分是,我試圖去的.SelectedItem到columne名字的時候我綁定的形式,但它需要的是爲.SelectedItem.Text

相關問題