根据组合框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的所有型号要用什么?我该怎么做?

根据组合框1所选项目填充组合框2

在第二个组合框中需要多个项数组。因此,当一个项目在第一个组合框中被选中时,第二个组合框项目就是数组中的那个。

首先定义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
}