8

在 WPF/WinForms 中为数据库中的某些数据创建快速编辑器的最简单方法是什么,其中数据由 SQL Server 数据库中的视图表示?

假设我有一个表Person { id int, name nvarchar(max), GenderID int, CityID int},其中 GenderID 和 CityID 是对表 Gender 和 City 的引用。在编辑器中,Person 将显示为 name 文本框、gender 组合框(从 Gender 表中选择性别名称)和 city 列相同。

我可以做一些简单的事情吗?一些控制/代码会生成这个吗?如果我只想选择数据,那么 WinForms DataGridView 或 WPF DataGrid 可以为每个属性生成一列,并为集合中的每个对象显示一行。-

如果关系由外键定义,是否有某种类似的魔术控制可以为数据库视图执行此操作?

在我看来,成千上万的开发人员都面临过这种问题——快速创建一个 GUI 来编辑与其他表有关系的数据库行,因此应该有某种普遍接受的解决方案。还是每个人都在代码中这样做?或者,如果有其他语言的工具,不是 C#,不是 Windows 窗体 - 比如 dBase。

4

2 回答 2

2

您正在描述 Web 开发中所谓的脚手架。脚手架是一种为数据库中的每个表自动生成 UI 的方法。脚手架可让您创建一个功能性 UI,用于根据数据架构查看和编辑数据。以下是 WPF 脚手架的一些资源。

  1. Code Project 网站上有一篇 WPF 脚手架文章:WPF CRUD Generator (Scaffolding)
  2. 还有一个 Codeplex 项目可能会有所帮助:WPF Scaffolder

享受!

于 2012-08-24T18:25:17.557 回答
0

ASP .NET 动态数据使用模板为您自动生成一个 UI,该 UI 将代表您选择的数据库表/视图,包括您想要的自动生成的 CRUD 功能。

它甚至可以正确查找表并自动呈现下拉列表。

http://msdn.microsoft.com/en-us/library/ee845452(v=vs.100).aspx

于 2012-08-31T22:13:30.733 回答