日期:2014-05-18  浏览次数:20825 次

combox控件实现级联查询
windows窗体应用程序
请问怎样用两个combox控件实现级联查询,也就是第一个的选择会影响第二个的下拉显示部分
例如有很多省份,每个省份又有很多市,当第一个选中四川,第二个的下拉列表有成都、绵阳、德阳、雅安.....而当第一个选中湖北时,第二个的下拉列表自动变为武汉、荆门、襄樊......



谢谢!

------解决方案--------------------
第一个combox有select_indexchange事件,在该事件中获妈第一个combox的值,并通过该值查询数据库获取数据集绑在第二个combox中。

------解决方案--------------------
在SelectedIndexChanged事件中:
 BUInstate m_BUInstate = new BUInstate();
DataTable dtIs = m_BUInstate.ListByStr(select.Text);//根据省查询市
select2.DataSource = dtIs ;
select2.DisplayMember = "S";//数据库中市的字段
select2.ValueMember = "S";
或者在公共类中写一个判断的方法:
switch(select.Text)
{
case "湖南":
select2.Items.Insert(0, "长沙");
......
break;
}
------解决方案--------------------
combox1注册一个select_indexchange事件里面绑定combox2.DataSource