这个问题很简单,答案可能不是。基本上,在我的应用程序中,我在内存中有一个数据集。这个数据集有一些 dataTables 和一些 dataRelations。我想允许最终用户添加一个作为查询结果的数据表。用户还应该能够指定他的数据表和默认数据表之间的一种(或更多)关系。他应该不能删除或修改原始数据集。
这是显示控件应如何工作的图像:
不需要以可视方式删除/修改关系或删除/修改数据表的能力。像下面这样的向导就足够了:
图片来自这个页面: http: //www.devart.com/dotconnect/mysql/docs/DataSetEditor.html
从头开始创建我自己的控件肯定不是微不足道的,所以我正在寻找可以使用(或易于修改)的东西。如果您曾经使用过 Visual Studio 数据集设计器,您应该明白我在寻找什么。事实上,我想要一个类似于 DataSet Designer 的控件,但能够“锁定”一些数据表和数据关系,并能够根据查询结果添加可编辑的数据表。
如果不够清楚,请询问更多信息。谢谢你。
编辑:当然,默认数据集不是查询的结果。在这种情况下,我可以允许最终用户编辑原始查询添加join
,union
等等。我提供的数据集是精心设计的结果,因此它仅“存在”于内存中。也许,我可以将它保存在数据库内的临时表中。无论如何,在探索这个解决方案之前,最好有一个可视化工具而不是查询编辑器......
EDIT2:网上冲浪我发现了这个 SQL 工具: http: //www.atlantis-interactive.co.uk/products/schemasurf/default.aspx。我正在寻找的是类似的,但应该是一个 WinForm 控件。它应该接受任何类型的数据集,而不仅仅是 SQL。