所以我知道你可以在子单元格中嵌套子报表但是如果我有很多数据并且我想动态地填充子报表。你能在SSRS中做到这一点,任何人都知道吗?
我通常会向下钻取到子报表,但您是否可以捕获隐藏变量或其他值,或者知道单元格中的选择引用并生成?
我已经研究过Me.Value和ReportItems的概念![ItemName] .Value但是它们与静态位置相关,而不是鼠标选择的活动单元格。有谁知道这是RDL语言的限制还是可能的?在最简单的例子中,我可以说我有一个只有一个字段'Name'的数据集,它有两个值'Brett'和'Sean'。我创建一个表,只设置一个带标题的列。我创建了一个文本框,其表达式在该表之外,因为它在报表正文中是自己的元素(以重新创建我想要传递给子报表的内容)。我希望捕获对所选表格元素中的内容的引用。
我可以以某种方式让报告知道我点击了表格中的单元格并生成一个触发该值的事件吗?或者语言是否无法构建引用?我很好奇,因为我不确定所以我想我会问。
答案 0 :(得分:0)
所以简短的答案并不是真的,因为报告和生成的基础数据是静态的,并且没有用于生成更多数据的事件框架 - 只是改变现有数据的显示(展开/折叠,排序等)。 )(所以理论上你可以让文本框的可见性基于单击文本框进行交互,然后将某些“主报告”中各种数据行的可见性设置为等于文本框的可见性,这样它们就“隐藏”了当用户点击不同的文本框时,“显示”。但是你必须有一个“重置所有可见性”按钮,一个主报告,以及很多代码隐藏来计算你的子报告可见性行......听起来像维护噩梦!)
显然,您最好的选择是使用Report Viewer Control构建ASP.NET Web应用程序。然后,您将获得jQuery和服务器端请求的所有优点,以处理从客户端返回服务器的传递参数,生成子报表,返回它(最好是作为ATOM数据源),解析它,然后将其注入DOM您希望用户如何看待它。
有些人设法inject jQuery into the SSRS Report Manager headers,所以如果您真的喜欢冒险,可以尝试在报表管理器中重新创建相同的体验,但这听起来很麻烦。
答案 1 :(得分:-1)
我猜你正在寻找SSRS中的功能,即行动。 您可以在单击单元格时定义操作,从而为您提供各种操作选项。
单击单元格,转到TextBox属性,选择操作作为goto报告并添加要传递的参数。
在这个示例中,我有Report1,当我单击JobCandidate Cell时,我导航到Report2,同时我传递一个参数,该参数是Report2中Report 2参数Param1使用的JobCandidate ID。 传递给Param1的值基本上是单元格值,在本例中为Fields!JobCandidateId.Value