Я пытаюсь заполнить combobox с помощью другого combobox, но что-то не так при изменении значений.Заполнять Combobox с другим Combobox динамически
Когда я выбираю элемент в combobox1, он загружает значения из базы данных так же, как и в combobox2, но когда я затем выбираю другой элемент в combobox1, combobox 2 показывает значения как из моего первого, так и для второго элемента.
Мне нужно, чтобы combobox2 «забыл» первые значения, а затем отображает следующие значения после изменения элемента в 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;
}
}
Итак, когда вы меняете первый выбранный вами ComboBox Index, все элементы во втором ComboBox меняются? – Abhishek
@Abhishek Когда я выбрал индекс в combobox1, combobox2 имеет правильные значения, но если я перехожу на другой индекс combobox1, combobox2 будет отображать значения из моего первого индекса и второго индекса combobox1, чего я не хочу, я хочу чтобы показывать только значения в зависимости от того, какой индекс я выбрал в combobox1 –
Когда вы делаете 'Cbx_ManageImagesImage.Items.Add (изображение);', предыдущие элементы все равно будут присутствовать в элементах ComboBox. Если вы выполняете 'ComboBox.Items.Clear()', все элементы будут удалены из него. – Abhishek