当然可以。我就用Linq:1)假设你两张表已经被拖拽到了linq的文件中,并且生成了DBDataContext。2)双击Form,然后在Load事件中这样写:protected void Form_Load(……){ using (Linq的数据DataContext) { var result = from item in DataContext.大类别表 select item; cbb_大类别.DataSource = result; cbb_大类别.DisplayMember = "leiname"; cbb_大类别.ValueMember= "leino"; }}3)双击cbb_大类别,然后在SelectIndexChanged事件中这样写: string id = cbb_大类别.SelectedValue; using (Linq的数据DataContext) { var result = from item in DataContext.小类别表 where item.leino.ToString().Equals(id) select item; cbb_小类别.DataSource = null; cbb_小类别.DataSource = result; cbb_小类别.DisplayMember = "leiname"; cbb_小类别.ValueMember= "xlno"; }
在cbb_大类的SelectedIndexChanged事件里面
查询出关联的小类的项
然后"cbb_小类别.Items.Add()"方法添加新项到小类的 combobox 里面
大类别的ComboBox直接加载数据库中大类表中的项,然后设置这个ComboBox的SelectedIndexChanged事件,在此事件中获取选中项的leino,然后查询数据库中小类表,获取所有leino与选中项的leino相等的记录,加载到小类别的ComboBox中就可以了。
希望对你有帮助,如有疑问请追问或是Hi