【发布时间】:2012-12-31 07:01:51
【问题描述】:
我是一名学生,并且是编程新手,我有两个组合框,combobox1 和 combobox2 combobox1 包含诺基亚、三星、htc 等移动公司,combobox2 包含三星、s3 等移动型号,我想对这两个进行排序组合框我的意思是当我点击组合框1中的诺基亚时,诺基亚的所有型号都应该在组合框2的列表中可见,所以我决定使用外键关系
Manufacturer -table
- manufacturerid (primary key)
- name
Model -table
- modelid (primary key)
- manufacturerid (foreign key to manufacturer)
- name
数据示例:
制造商表
manufacturerid name
-------------- ----------
1 Nokia
2 Samsung
3 HTC
模型表
modelid manufacturerid 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
我希望如果我在第一个组合框中选择诺基亚,那么第二个组合框将选择所有制造 ID = 1 的型号 用什么?我怎样才能做到这一点? 私下我正在使用
private void comboBox4_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox3.Text = "";
if ("samsung" == comboBox4.SelectedItem.ToString())
{
comboBox3.DataSource = table1BindingSource;
comboBox3.ValueMember = "samsung";
comboBox3.DisplayMember = "samsung";
}
if ("htc" == comboBox4.SelectedItem.ToString())
{
comboBox3.DataSource = table1BindingSource;
comboBox3.ValueMember = "htc";
comboBox3.DisplayMember = "htc";
}
}
但我每次添加新模型时都必须更新三星字符串,所以我决定使用表格以便我可以更新它
【问题讨论】:
-
上面的例子我为一家公司使用了整列,但出现了一些问题,所以我决定使用这个外键
-
请看我的回答
-
您想填充组合框还是要更新??
-
您到底想要什么?看来您正在尝试的代码可以正常工作。您要优化代码吗?
-
我想用正确的模型填充
标签: c#