C# 如何使用窗口窗体在C中创建动态下拉列表

C# 如何使用窗口窗体在C中创建动态下拉列表,c#,winforms,list,ms-access,C#,Winforms,List,Ms Access,我正试图为朋友的手机商店建立一个简单的库存计划 我想使用C和access数据库来存储数据 DB将有两个主要列表: 设备-品牌、型号、颜色、价格、库存、最小库存 零件-品牌、型号、说明、库存、最小库存 GUI将使用几个下拉列表 品牌会给我:三星,htc,等等。。。。 模型将给我:I9000,i9100等 当我试图思考如何做到这一点时,我遇到的两个主要问题是: 每次新的品牌和型号出现时 因此,我需要一个选项,将新的型号/品牌添加到数据库中,然后更新下拉列表以自动添加它们 下拉列表需要连接 因此,如果

我正试图为朋友的手机商店建立一个简单的库存计划 我想使用C和access数据库来存储数据

DB将有两个主要列表:

设备-品牌、型号、颜色、价格、库存、最小库存 零件-品牌、型号、说明、库存、最小库存 GUI将使用几个下拉列表 品牌会给我:三星,htc,等等。。。。 模型将给我:I9000,i9100等

当我试图思考如何做到这一点时,我遇到的两个主要问题是:

每次新的品牌和型号出现时 因此,我需要一个选项,将新的型号/品牌添加到数据库中,然后更新下拉列表以自动添加它们 下拉列表需要连接 因此,如果我选择品牌A,只有品牌A型号才会出现在型号下拉列表中
首先:不要使用Access,请使用SQL Server 2008 Express。但那只是个人品味

您需要做什么来实现您想要的:在VisualStudio中创建一个类型化数据集,其中包含一个品牌表和一个模型表。使用“品牌”列上的关系关联这两个表

从数据库中读取两个表-首先是品牌表,然后是型号表。否则你会得到一个错误

为两个列表创建主/明细绑定。为此,请将两个BindingSource实例拖放到表单中。将其中一个关联到品牌列表,另一个关联到设备列表。brands BindingSource的数据源必须设置为数据集中的brands表,另一个BindingSource的数据源必须设置为两个表之间的关系。所有这些都可以在设计器中实现

如果在设置绑定时遇到问题,请使用google for C master detail binding dataset

编辑
另一个选项(如果数据库连接快速)是从数据库中填写品牌列表,每当选择品牌时,立即清除并使用所选品牌名称重新填写数据库中的型号列表。

您的问题是什么?你试过什么?您是否正在寻找如何编写此代码的指针?是否在更新后尝试重新绑定datacontext?@Derek,是的。。。我在寻找指针,因为到目前为止,我使用的是我预先配置好的静态下拉列表。我只是不知道如何使其动态,以便它将符合我的需要,它可以你上传你的代码,我也为手机商店的规划。如果可以的话,我也会添加新的特性,我会在这个周末有空的时候试试。如果你能给我介绍一个类似于我试图用谷歌创建的东西的代码示例,这不是一个问题,知道如何提出正确的问题是需要一些快速阅读。。。我可以用distinct来读取DB的名称吗?我会从…中选择distinct品牌。。。对于品牌名称和选择*从。。。对于模型,模型表需要完全填充。数据库将是小型存储和库存,因此我认为不会有速度问题。您的编辑是我在程序中需要的第二个选项,模型下拉列表需要连接到品牌列表两个选项都允许这样做。我首先描述的master/detail也一样,只是所有数据都在内存中,因此速度非常快。第二个选项更易于编程,但每次选择不同的项时都需要数据库请求。第一种选择是我的首选方式,因为主/细节连接非常舒适。