我是一名学生,也是编程的新手,我有两个组合框,combobox1和combobox2 combobox1包含移动公司,如nokia,三星,htc和combobox2包含三星,s3等移动模型,我想排序两个组合框我的意思是当我点击组合框中的诺基亚时,所有nokia模型应该在combobo2列表中可见,所以我决定使用外键关系
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
我希望如果我在第一个组合框中选择nokia,那么第二个组合框将选择所有IDr = 1的模型使用什么?我怎么能这样做?
答案 0 :(得分:0)
在第二个组合框中需要多个项目数组。 因此,当在第一个组合框中选择一个项目时,第二个组合框项目就是阵列中的项目。
首先定义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);
}
}
答案 1 :(得分:0)
您需要处理第一个SelectedIndexChanged
控件的ComboBox
事件,以将项目填充/添加到第二个ComboBox
试试这个:
comboBox1.SelectedIndexChanged += new
System.EventHandler(this.comboBox1_SelectedIndexChanged);
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
//code for filling the combobox 2
}