簡體   English   中英

如何從具有自動完成功能的CombBox中獲取SelectedValue?

[英]How to get SelectedValue from CombBox with AutoComplete?

通常我以這種方式填充comoboBox:

combo.DataSource = dt;
combo.ValueMember = "id";
combo.DisplayMember = "name";

我可以很容易地用此代碼獲得選定的值

int i = convert.toint(combo.selectedValue);

但是在使用“自動完成”功能后,我無法獲得它:

con = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=ACDB;Integrated Security=True;Pooling=False");
da = new SqlDataAdapter("SELECT id, name from usersTBL", con);
da.Fill(dt);
AutoCompleteStringCollection datasource = new AutoCompleteStringCollection();
for (int i = 0; i < dt.Rows.Count; i++)
{
  datasource.Add(dt.Rows[i][1].ToString());
}
this.comboSearch.AutoCompleteCustomSource = datasource;
this.comboSearch.AutoCompleteSource = AutoCompleteSource.CustomSource;
this.comboSearch.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
this.comboSearch.DataSource = dt;
this.comboSearch.DisplayMember = "name";
this.comboSearch.ValueMember= "id";

現在,如果我從comboBox中手動選擇一個項目,則可以獲取SelectedValue,但是如果我使用自動完成,則不能。 我想從ComboBox中搜索Selected項目時獲得SelectedValue。

現在工作正常

public frm_order()
    {

        InitializeComponent();

        AutoCompleteStringCollection farmerdatasource = new AutoCompleteStringCollection();
        for (int i = 0; i < farmer.GET_FARMER_NAME_HAVE_PRODUCT().Rows.Count;i++ ) {
            farmerdatasource.Add(farmer.GET_FARMER_NAME_HAVE_PRODUCT().Rows[i][1].ToString());
        }
        this.farmerNameCmb.AutoCompleteCustomSource = farmerdatasource;
        this.farmerNameCmb.AutoCompleteSource = AutoCompleteSource.CustomSource;
        this.farmerNameCmb.AutoCompleteMode = AutoCompleteMode.SuggestAppend;




    }

並在FORM_LOAD我填充組合框:

this.farmerNameCmb.DataSource = farmer.GET_FARMER_NAME_HAVE_PRODUCT();
            this.farmerNameCmb.DisplayMember = "farmerName";
            this.farmerNameCmb.ValueMember = "farmerID";

現在我可以在我的comboBox中搜索並輕松獲取ValuMember

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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