[英]Combobox textChanged event not firing
我們的定制表包含Cust_ID,Cust_Name等.....對於此表,Cust_Name不是唯一的,並且一個客戶名稱可以重復次數。
我正在從SQL獲取數據並綁定到ComboBox(winform)
cmbCustomar.Datasource = GetCustomerData(_LocationID);
cmbCustomar.DisplayMember = "Cust_Name";
cmbCustomar.ValueMember = "Cust_ID";
這里的問題是:
客戶名稱:JOHN重復了4次,當用戶在第一個項目上選擇JOHN時,所有的Cust_ID都不同,我得到正確的“ SelectedValue”
但是如果用戶選擇第二或第三JOHN Combobox Item,則始終默認選擇First Item(名稱為JOHN),並且SelectedValue始終返回First Item Value。
我找不到我做錯了的地方,請提出建議。
請記住,填充組合框時將觸發“ SelectedValueChanged”事件。 在填充組合框之前,請確保取消訂閱此事件。 並在填充數據后再次訂閱。
//unsubsribe the event before populating combobox1
this.cmbCustomar.SelectedValueChanged -= new System.EventHandler(this.cmbCustomar_SelectedValueChanged);
cmbCustomar.Datasource = GetCustomerData(_LocationID);
cmbCustomar.DisplayMember = "Cust_Name";
cmbCustomar.ValueMember = "Cust_ID";
//subscribe the event again
this.cmbCustomar.SelectedValueChanged += new System.EventHandler(this.cmbCustomar_SelectedValueChanged);
看來您很陌生。 就像我的猜測一樣,由於描述不完整,您正在嘗試根據組合框的選定文本返回“選定值”。 但是,除此以外,您必須嘗試將值a附加到所選文本並返回該值。 它一定會解決您的問題。
希望能幫助到你。
嘗試更改以下屬性:
cmbCustomar.DropDownStyle = DropDownList;
如果您的ComboBox具有DropDownStyle = DropDown
,則ComboBox的“文本”部分將嘗試匹配它在列表中可以找到的第一個項目,在這種情況下,它將忽略當前選定的項目,並找到第一個“ John”您的清單。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.