我正在使用 ReportViewer 控件 以及自定义构建的自定义参数面板。到目前为止,我仅使用 web 服务 来获取所有报告及其参数来构建参数的 UI。
我的问题是关于链接/依赖参数 - 我无法在现有的 ReportService2010 Web 服务文档中找到一种方法,该方法将为我提供一种基于另一个参数获取参数依赖值的方法。换句话说,我需要过滤依赖的参数值和另一个参数。
获取相关参数的详细信息并过滤它们的最佳方法是什么? 我想避免查询 Reporting Services 数据库,并希望仅通过 Web 服务层实现此目的,这可能吗?...
我还简要查看了基于默认 Web 的 Microsoft 实现中浏览器开发人员工具中的网络流量,希望在那里看到 Web 服务调用,但没有。相反,每个参数都托管在 iframe 中,该 iframe 使用客户端代码刷新,并且没有 Web 服务调用 - 我必须进一步挖掘...
我自己解决这个问题的方法...
要求
使用客户端框架可以轻松获取:
背景
构建基于 Web 的现代 UI 仪表板,以更加用户友好和交互式的方式显示服务器端 RDL 报告,以使用不同的参数选择重新运行报告。报告控件仍用于呈现实际报告,但构建了自定义参数面板以启用交互。
我的定制解决方案
我创建了一个新的 WebAPI Web 服务,包装了
Microsoft.ReportViewer.WinForms
,以利用报告控件的现有功能查询报告服务器。挑战在于获取所有参数详细信息以在客户端重建参数。
虽然第一个要求可以使用“随时可用的报告 Web 服务”的“ListChildren”方法来实现,但问题是它是基于 SOAP 的 Web 服务,不容易从客户端使用。