根据组合框1所选项目填充组合框2
本文关键字:组合 填充 项目 1所 选项 | 更新日期: 2023-09-27 18:00:01
我是一名学生,也是一名编程新手,我有两个组合框,组合框x1和组合框x2组合框x1包含诺基亚、三星、htc等移动公司,组合框x2包含三星、s3等移动型号,我想对这两个组合进行排序,我的意思是,当我点击组合框x1中的诺基亚时,诺基亚的所有型号都应该在组合框2的列表中可见,所以我决定使用外键关系
Registry_name -table
- IDr (primary key)
- name
Material -table
- ID (primary key)
- IDr (foreign key to manufacturer)
- name
Example for the data:
Registry_name table
IDr name
-------------- ----------
1 Nokia
2 Samsung
3 HTC
Material table
id idr name
------- -------------- ----------
1 1 C7
2 1 Lumia 900
3 1 Lumia 920
4 2 Galaxy S II
5 2 Galaxy S III
6 3 Desire X
7 3 Windows Phone 8X
8 3 One S
我想,如果我在第一个组合框中选择诺基亚,那么第二个组合框将选择IDr=1的所有型号要用什么?我该怎么做?
在第二个组合框中需要多个项数组。因此,当一个项目在第一个组合框中被选中时,第二个组合框项目就是数组中的那个。
首先定义2个数组。
string[] nokias = { "2314", "s3522" }; // and so on
string[] samsung = { "s3", "s4" };
然后,在第一个组合框的SelectedIndexChanged事件中放入if语句。这样,如果第一个更改,您可以更改第二个。
if(combobox1.selecteditem.text == "nokia"){
foreach(string str in nokias){
combobox2.items.add(str);
}
}
您需要处理第一个ComboBox
控件的SelectedIndexChanged
事件,以将项目填充/添加到第二个ComboBox
中
试试这个:
comboBox1.SelectedIndexChanged += new
System.EventHandler(this.comboBox1_SelectedIndexChanged);
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
//code for filling the combobox 2
}