4

我有一个 Web 应用程序,它通过 reportviewer 控件提供 SQL 报告服务报告。由于某些报告的复杂性,我使用附加到业务对象的 rdlc 报告。

现在我想扩展系统并允许某种形式的用户定义报告。理想情况下,我希望用户将他们的报告连接到我用来创建 rdlc 报告的相同业务对象。

  1. 是否有允许用户创建/编辑自己的 rdlc 文件的控件?
  2. rdl 文件可以附加到业务对象吗?
  3. 编写我自己的控件以编辑 rdlc 文件的任何提示/提示?(我认为这是很多工作,只有在没有合适的答案 1 或 2 时才会尝试)。

我所有的开发都是在 VS 2005 中使用 SQL 2005 完成的,但如果 2008 年的新功能有助于解决方案,我可以升级。

4

2 回答 2

3

这不是一个很好的答案,但在我的公司,我已经建立了我们自己的报表生成器。

我们有大约 30 份报告服务报告,我们的用户可以通过 Web 或桌面应用程序访问这些报告。我们想要做的是让我们的用户能够获取这些报告中的任何给定部分并创建自己的部分。

如果有我们为他们构建的报告,但他们不想看到图表,他们可以创建没有它的相同报告。如果他们想将 4 个不同报告中的部分组合成一份摘要报告,他们可以将这些部分拖到我们的自定义构建器上并保存。

我必须放在一起的报表生成器会下拉他们选择的所有不同的子报表,并通过 XML 读取将它们添加到我创建的报表生成器模板 XML 文件中。然后,我必须汇总所有参数,以免多次要求它们(如果您不希望它们汇总,参数名称在所有报告中必须是唯一的)。这个新的报告 XML 被部署到服务器上,用户可以随时访问它们。

我还让他们能够通过在空白画布上的任何位置拖动文本框、图像、全局变量(运行日期、创建时间、运行人、页码等)来创建自己的封面、页眉和页脚。然后,我将他们在此画布上使用并调整大小的所有项目转换为另一个报告 XML 文件,并将其部署为他们可以添加到自定义报告中的子报告。

是的,这需要做很多工作,但我们的用户喜欢它。我们现在正在允许他们创建具有特殊分组的报告,以便可以在不同级别运行报告。

所以这是可能的,但没有简单的答案。=) 我很乐意向任何提出建议的人提供建议,但直接复制代码违反了我的合同,但除此之外我会尽我所能。

于 2009-01-31T18:44:23.337 回答
1

我认为 SQL Reporting Services 不适合这种自定义。您可以隐藏和显示控件和子报表,但不存在交互式分组等内容。

您可能会研究第三方报告框架,例如Telerik 的.

于 2009-01-29T10:55:51.663 回答