我在SQL Server中有一个存储过程,它根据参数返回不同的结构。
换句话说,它可能会返回一个包含三个字段或15的结果集,并且列名将会不同。
如何在WinForm应用程序中显示这些结果?
我目前使用实体框架来访问数据,但显然在这种情况下不会起作用。
数据将是只读的,即无需编辑。只需要显示它。
我猜我需要跳过EF并直接调用SP,并使用autocolumns填充DataGridView。
格雷格
答案 0 :(得分:0)
由于您正在检索动态数据结构,因此您还需要使网格列动态化。在成功检索结果集之后,我要做的是清除Columns
集合,并在每次调用SP时从头开始重新创建它们,并且需要在屏幕上刷新数据。不要使用AutoGenerateColumns
,因为它们几乎没有机会自定义它们的外观,而是自己定义每一列,以便您可以选择要显示的内容和方式。
答案 1 :(得分:0)
这是我找到的最佳答案:How to use a DataAdapter with stored procedure and parameter
简而言之,使用DataAdapter和DataTable。即使使用AutoGenerateColumns,列标题看起来也很棒,无论返回的表结构如何都可以。
格雷格