Я использую следующую функцию, чтобы заполнить мою ComboBox
выпадающего Население вопрос
public static void FillDropDownList(string Query, System.Windows.Forms.ComboBox DropDownName, string AValue, string Adisplay)
{
string Value = AValue;
string display = Adisplay;
using (var CONN = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\\Test.accdb;"))
{
CONN.Open();
DataTable dt = new DataTable();
try
{
OleDbCommand cmd = new OleDbCommand(Query, CONN);
OleDbDataReader myReader = cmd.ExecuteReader();
dt.Load(myReader);
}
catch (OleDbException e)
{
MessageBox.Show(e.ToString());
return;
}
DropDownName.DataSource = dt;
DropDownName.ValueMember = Value;
DropDownName.DisplayMember = display;
}
}
И я звоню его в виде нагрузки:
private void Form1_Load(object sender, EventArgs e)
{
FillDropDownList("select CountryCode,Countryname from Countries", comboBox1, "CountryCode", "Countryname");
}
2.Посль, что я использую ту же функцию в случае события Selectedindexchanged для заполнения другого ComboBox:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
FillDropDownList("select StateCode,StateName from States Where CountryCode = '" + comboBox1.SelectedValue + "'", comboBox2, "StateCode", "StateName");
}
И для население всего в два COMBOBOX прекрасно работает, однако здесь вопрос У меня есть два выпадающие, как показан на картинке:
Так тэ первый выпадающий (страна) загружаются в виде отлично , но то, что я Я пытаюсь сделать это, чтобы второе поле со списком (состояние) было выбрано из базы данных только тогда, когда я выбираю страну, но происходит то, что код запускается, а второй combobox идет и выбирает из базы данных все, что выбранный индекс в первая комбо представлена на рис.
Так что я в основном хочу сделать, это сделать второй Combo заполненным только тогда, когда я выбираю индекс из первого списка.