[英]set ComboBox selected item when another combobox changes the selected value c#
class ComboBoxCompany
{
public string Code;
public string Name;
public string Database;
public ComboBoxCompany(string code, string name, string database)
{
Code = code; Name = name; Database = database;
}
public override string ToString()
{
// Generates the text shown in the combo box
return Name;
}
}
class ComboBoxDatabase
{
public string cmpName;
public string dbName;
public ComboBoxDatabase(string cmpname, string dbname)
{
cmpName = cmpname; dbName = dbname;
}
public override string ToString()
{
// Generates the text shown in the combo box
return cmpName + " - " + dbName;
}
}
這些是2個組合框的類,因此當我選擇第一個組合框(ComboBoxCompany)的值時,我希望第二個組合框(ComboBoxDatabase)從第一個組合框“ Database” -Value中選擇“ dbName” -Value
我試過了,但是沒有
private void cbxBranch_SelectedIndexChanged(object sender, EventArgs e)
{
cbxDatabase.SelectedItem = (cbxCompany.SelectedItem as ComboBoxCompany).Database;
}
通過設置(cbxCompany.SelectedItem as ComboBoxCompany).Database
您嘗試將所選項目設置為不“存在”的數據庫字符串,因為似乎您添加了一個類作為comboboxitem。
您需要將SelectedItem設置為真實對象。 您可以使用linq(示例代碼)進行搜索:
var company = cbxCompany.SelectedItem as ComboBoxCompany;
if(company == null)
return;
var dbItem = _databaseComboBoxItems.FirstOrDefault(x=>x.CompanyName = company.CompanyName && x.Database == company.DatabaseName);
if(dbItem == null)
return;
cbxDatabase.SelectedItem = dbItem;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.