用另一个 Combobox 动态填充一个 Combobox
Populate a Combobox with another Combobox dynamically
我正在尝试用另一个组合框填充一个组合框,但在更改值时出现错误。
当我 select combobox1 中的一个项目时,它会从数据库加载值到 combobox2,但是当我 select combobox1 中的另一个项目时,combobox 2 显示来自两者的值我的第一个和第二个项目。
我需要 combobox2 到 "forget" 第一个值,然后在我更改 combobox1 中的项目后显示下一个值。
知道如何实现吗?
代码如下:
private void Cbx_ManageMedia_SelectedIndexChanged(object sender, EventArgs e)
{ //Index change for combobox1
string query = "SELECT image FROM images WHERE type = '" + MIM + "'";
//MIM = Combobox1 value
MySqlConnection conDB = new MySqlConnection(connString);
MySqlCommand cmdDB = new MySqlCommand(query, conDB);
MySqlDataReader cReader;
try
{
conDB.Open();
cReader = cmdDB.ExecuteReader();
while (cReader.Read())
{
string image = cReader.GetString("image");
Cbx_ManageImagesImage.Items.Add(image);
}
}
catch (Exception ex)
{
throw ex;
}
}
您首先需要清除组合框中的现有项目。如果您将代码的第一部分更改为:
private void Cbx_ManageMedia_SelectedIndexChanged(object sender, EventArgs e)
{ //Index change for combobox1
Cbx_ManageImagesImage.Items.Clear() //THIS LINE HAS BEEN ADDED
string query = "SELECT image FROM images WHERE type = '" + MIM + "'";
.......
在添加新项目之前,将从组合框中清除所有项目。
我正在尝试用另一个组合框填充一个组合框,但在更改值时出现错误。
当我 select combobox1 中的一个项目时,它会从数据库加载值到 combobox2,但是当我 select combobox1 中的另一个项目时,combobox 2 显示来自两者的值我的第一个和第二个项目。
我需要 combobox2 到 "forget" 第一个值,然后在我更改 combobox1 中的项目后显示下一个值。
知道如何实现吗?
代码如下:
private void Cbx_ManageMedia_SelectedIndexChanged(object sender, EventArgs e)
{ //Index change for combobox1
string query = "SELECT image FROM images WHERE type = '" + MIM + "'";
//MIM = Combobox1 value
MySqlConnection conDB = new MySqlConnection(connString);
MySqlCommand cmdDB = new MySqlCommand(query, conDB);
MySqlDataReader cReader;
try
{
conDB.Open();
cReader = cmdDB.ExecuteReader();
while (cReader.Read())
{
string image = cReader.GetString("image");
Cbx_ManageImagesImage.Items.Add(image);
}
}
catch (Exception ex)
{
throw ex;
}
}
您首先需要清除组合框中的现有项目。如果您将代码的第一部分更改为:
private void Cbx_ManageMedia_SelectedIndexChanged(object sender, EventArgs e)
{ //Index change for combobox1
Cbx_ManageImagesImage.Items.Clear() //THIS LINE HAS BEEN ADDED
string query = "SELECT image FROM images WHERE type = '" + MIM + "'";
.......
在添加新项目之前,将从组合框中清除所有项目。