gpt4 book ai didi

c# - 来自 SQL Server 的 Datagrid 使用

转载 作者:太空宇宙 更新时间:2023-11-03 22:28:34 27 4
gpt4 key购买 nike

我想知道使用链接到数据表组合(连接)的数据网格控件的最佳方式,这种方式既允许显示,又允许在基础表中创建新行和删除。

datagrid 似乎提供了后一种功能,但我还没有找到一种让我满意的方法,它不仅可以在一个网格上显示并提供特定的单独编辑创建和删除功能。

为了说明起见,假设数据库包含:-

客户表
* 客户ID
* 客户姓名

订单表
* 客户ID
* OrderLineItem
* 订单行数量

为了显示目的,我想丢失 CustomerID,但希望能够创建新客户并删除现有客户,或许可以使用确认对话框。

最佳答案

CSharpAtl 是正确的,使用Master-Detail 控件。在 WinForm 应用程序中使用一个示例位于 http://msdn.microsoft.com/en-us/library/y8c0cxey.aspx。 .

WinForm DataGrids 支持添加、编辑和删除主记录和详细记录。至于您的问题,如果您更改详细记录以使其与新的主记录匹配会发生什么;这是不可能的。根据设计,详细信息行仅包含与主数据匹配的记录,您不能(例如)将订单更改为属于新客户,因为详细信息行不包含任何客户信息。

如果你想将一个Detail行移动到另一个Master,你必须为新Master创建一个新的Detail行,从旧的Detail行复制数据,并删除旧的Detail行。如果您雄心勃勃,您可以支持剪切和粘贴或拖放详细信息行,但在内部您必须创建/复制/删除。

关于c# - 来自 SQL Server 的 Datagrid 使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/134785/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com