Я полагаю, что вы используете c#
, и вы можете отфильтровать результаты для второго раскрывающегося списка на основе первого раскрывающегося списка следующим образом:
private void Combobox1_SelectionChangeCommitted(object sender, EventArgs e)
{
Combobox2.DataSource = null;
if (Combobox1.SelectedValue.ToString() != "0")
{
string sql = string.Format("SELECT CarModel FROM Table WHERE Car = {0}", Combobox1.SelectedValue);
Combobox2.DataSource = this.GetData(sql);
Combobox2.DisplayMember = "CarModel";
Combobox2.ValueMember = "ModelId"; //if there is an id for each model
Combobox2.Enabled = true;
}
}
Функция получения данных:
private DataTable GetData(string sql)
{
string constr = @"Data Source=.\SQL2014;Initial Catalog=Cascading_ddl;Integrated Security=true"; //modify as per your project
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlDataAdapter sda = new SqlDataAdapter(sql, con))
{
DataTable dt = new DataTable();
sda.Fill(dt);
DataRow row = dt.NewRow();
row[0] = 0;
row[1] = "Please select";
dt.Rows.InsertAt(row, 0);
return dt;
}
}
}
PS: я упомянул Combobox1, Combobox2 просто для контекста, вы должны рассмотреть правильное соглашение об именах.