如何在Windows窗体/ WPF中为数据库视图(带连接)创建编辑器?

时间:2012-05-14 09:54:52

标签: c# sql winforms

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

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

  1. 代码项目网站上有一篇WPF脚手架文章:WPF CRUD Generator (Scaffolding)
  2. 还有一个可能有用的Codeplex项目:WPF Scaffolder
  3. 享受!

答案 1 :(得分:0)

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

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

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