0

我在 SQL Server 中有一个存储过程,它根据参数返回不同的结构。

换句话说,它可能会返回一个包含三个字段或 15 个字段的结果集,并且列名将有所不同。

如何在 WinForm 应用程序中显示这些结果?

我目前使用实体框架来访问数据,但显然这在这种情况下不起作用。

数据将是只读的,即无需编辑。只需要显示它。

我猜我需要跳过 EF,直接调用 SP,然后用自动列填充 DataGridView。

格雷格

4

2 回答 2

0

由于您正在检索动态数据结构,因此您也需要使网格列动态化。我要做的是,在成功检索结果集后,Columns每次调用 SP 并且需要在屏幕上刷新数据时,清除集合并从头开始重新创建它们。不要使用AutoGenerateColumns,因为它们几乎没有机会自定义它们的外观,而是自己定义每一列,以便您可以选择要显示的内容和方式。

于 2013-08-19T15:40:40.830 回答
0

这是我找到的最佳答案:How to use a DataAdapter with stored procedure and parameter

简而言之,使用 DataAdapter 和 DataTable。即使使用 AutoGenerateColumns,列标题看起来也很棒,并且无论返回的表结构如何,它都可以正常工作。

格雷格

于 2013-08-19T16:23:40.150 回答