2017-01-23 55 views
0

我試圖在從組合框中選擇特定學生名稱時將所需的數據導入到控件中。我正在使用SelectedValueChanged事件和該組合框的valuemember,以便用所需的數據填充它。從Combobox中獲取數據和映射到控件中選擇的值C#

StudentsNamesComboBox.DisplayMember = "StudentName"; 
StudentsNamesComboBox.ValueMember = "SectionId"; 

這裏studentnameCombobox具有使用StoredProcedure的從數據庫中獲取特定的記錄所需要的參數值不同的值。

cmd.Parameters.AddWithValue("@AdmissionNumber", Convert.ToInt16(StudentsNamesComboBox.SelectedValue)); 

我面臨的問題是,我不能從studentNamesCombox選擇的名稱得到所需要的參數值(@AdmissionNumber)。 任何想法如何獲得所需的參數值而不更改studentNamesCombox valuemember?任何其他方式?因爲改變vlauemember會影響整個功能。 Regards

+0

你是如何填充組合框的? – Bloodday

+0

代碼中沒有連接到組合框的入場號碼。你想獲得所選學生的錄取號碼,然後將其傳遞給命令嗎? –

+0

@ChetanRanpariya是的。當我從另一個名爲SectionsComboBox的組合框中選擇一個值時,看到StudentName Combobx被彈出,因此我使用sectionId作爲valuemember,以便從該特定節中獲取所有學生。但爲了獲得所選學生的數據,我需要沒有連接到StudentName ComboBox的AdmissionNum。所以現在我想要所選學生的AdmissionNum並將其值作爲參數值來獲取所有必需的數據。 – Omer

回答

1

當您填充StudentName組合框時,爲什麼不將該組合框的ValueMember設置爲「AdmissionNumber」。

你不需要該組合框中的學生的SectionI。 SectionId已經在其他組合框中可用。在StudentName組合框中,所有項目都具有相同的sectionId。如果我的假設錯誤,請糾正我。

這種方式ComboBox.SelectedValue將給出與您的情況下將選擇的項目相關聯的值「AdmissionNumber」。

要獲取所選學生的名稱,您需要使用ComboBox.SelectedItem.Text。這將在您的案例中給出所選StudentName。

+0

感謝隊友。上半場實際上是我的正確答案,併爲我工作。乾杯 – Omer