簡體   English   中英

組合框textChanged事件未觸發

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM