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
您尝试将所选项目设置为不“存在”的数据库字符串,因为您似乎添加了一个类作为组合框项目。
您需要将 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;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句