2009-01-29 82 views
4

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

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

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

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

回答

1

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

您可以查看第三方报告框架,如Telerik's

+0

SQL Reporting具有用户可以构建报表的报表构建器选项。我希望创建报告的用户能够成为真正的数据工作者,因此可以实现一定程度的复杂性。由于目前的报告已经有了巨额投资,我宁愿不转向新的框架。 – MBoy 2009-01-30 07:58:19

3

这不是一个很大的答案,但在我的公司我已经把我们自己的报告生成器。

我们有大约30个左右的报告服务报告,我们的用户可以通过网络或桌面应用程序访问。我们想要做的就是让用户能够在这些报告中选择任何给定的部分并创建他们自己的部分。

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

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

我也给他们通过拖动文本框,图像,全局变量(日期运行,创建,运行,页码等等...在任何地方创建自己的封面,页眉和页脚然后我将这些画布上的所有物品转换为另一个报表XML文件,并将其作为子报表部署,以便将其添加到自定义报表中。

是的,这个但是我们的用户喜欢它我们现在正在允许他们创建一个包含特殊分组的报告,因此报告可以在不同的级别运行

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

+0

感谢Dustin的详细回应。我看起来越多,似乎我唯一的选择就是遵循类似的路线。 – MBoy 2009-01-31 19:43:15