English 中文(简体)
用户定义的SSRS报表
原标题:
  • 时间:2009-01-29 10:24:44
  •  标签:

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

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

  1. Is there a control that allows users to create/edit their own rdlc files?
  2. Can rdl files be attached to business objects?
  3. Any hints/tips for writing my own control to edit rdlc files? (I would think this is a lot of work and would only attempt if there is no suitable answer to 1 or 2).

我所有的开发都是在VS 2005和SQL 2005进行的,但如果2008年的新功能有助于解决问题,我可以升级。

问题回答

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

我们有大约30个左右的报告服务报告,我们的用户可以通过Web或桌面应用程序访问。我们想做的是给我们的用户提供能力,以获取那些报告中的任何一个部分并创建他们自己的报告。

如果有一个我们为他们建立的报告,但他们不想看图表,他们可以创建同样的报告,没有它。如果他们想要结合来自4个不同报告的部分制作一个摘要报告,他们可以在我们的自定义构建器上拖动这些部分并保存。

我必须编写的报表生成器可以拉取所有已选择的子报表并通过阅读XML将它们添加到我创建的报表生成器模板XML文件中。然后,我必须汇总所有参数,以便不会重复询问它们(如果您不想对所有报表进行参数名称聚合,则参数名称必须在所有报表中唯一)。这个新的报表XML被部署到服务器上,用户可以随时访问它们。

我还给他们提供了创建自己的封面页、页眉和页脚的能力,只需在空白画布中拖动文本框、图像、全局变量(运行日期、创建日期、运行者、页码等等)。然后,我将他们在这个画布上拖拽和调整大小的所有项目转换成另一个报告 XML 文件,并将其部署为子报告,供他们添加到自定义报告中使用。

是的,这需要相当多的工作,但我们的用户很喜欢。我们现在正在允许他们创建带有特殊分组的报告,以便在不同层面运行报告。

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

我觉得 SQL Reporting Services 不适用于这种定制。你可以隐藏和显示控件和子报表,但交互式分组等方面不支持。

你可以考虑使用第三方报告框架,如(网址为http://www.telerik.com/products/reporting.aspx?gclid=CJeImeLOs5gCFQ4i3godox8dVA)。





相关问题
热门标签