【发布时间】:2015-08-19 15:10:22
【问题描述】:
我想编写一个在表单应用程序中显示数据库内容的软件。为了便于说明,我以购物清单为例。
- 我在一张表中有多个列表
tLists - 我在另一个表中有多个
tProductPackages - 一个列表可以包含多个 productPackage,一个 productPackage 可以位于多个列表中。这种 m:n 关系反映在名为
tListProdPacks的单独表中。 - productPackage 包含产品。一个产品可以有多个产品包。在每个
tProductPackage表条目中,都有一个外键 FK_ProductID 引用表tProducts中的条目。
我的表单应用程序应该使用BindingNavigator 浏览所有列表。在某些绑定控件中,它应该显示所选列表的详细信息。这工作正常。 (只是绑定控件。)
所有列表内容(tListProdPacks 中所选tLists 元素的条目)都应显示在DataGridView 中。这也工作正常。此外,productPackages 的详细信息(tProductPackages 项目,即到下一张表多一跳)也可以正确显示。在此表中,产品值可用作 ID (FK_ProductID)(tProducts 的外键)。
有没有办法在DataSource为tListProdPacks的DataGridView中显示产品名称(仅包含在tProducts中)?
(显示tProductPackages 成员很容易,因为tProductPackages 的主键引用它tListProdPacks 并使用此ID 我可以显示tProductPackages 的所有其他详细信息,只需继续使用相同的valueMember 但使用不同的DisplayMember 值对于单个 DataGridView 列 [使用 DGV 中的下拉控件]。)
但是当进一步跳转一个表时(即跳转到tProducts 表时),这不再起作用了。
我知道我可以创建一个自定义查询(加入、查看)来获得我想要的结果,但是我不能再从数据集中更新数据库了。
有谁知道如何做到这一点? (我猜框架提供了一些简单的方法,我只是看不到,对吧?)
我不确定我是否能够描述我想要完成的工作是否足够好。如果没有,请帮我补充什么。
最好的问候, 汤姆
【问题讨论】:
标签: c# sql datagridview