如何在 s-s-rs 中启用级联参数
Posted
技术标签:
【中文标题】如何在 s-s-rs 中启用级联参数【英文标题】:How to enable cascading parameters in s-s-rs 【发布时间】:2017-03-21 11:42:21 【问题描述】:我的报告中有 5 个参数。
他们是@time_from
、@time_to
、@order_id
、@material
、@batch
和@sscc
我需要做以下事情:
-
选择时间范围
填充过滤器
-
所有订单
所有批次
所有 SSCC
然后我必须显示所有数据。 (我一直到第 4 个条件)
如果加载的所有数据操作员都可以选择从下拉列表中选择 1 个订单,则应该重新加载过滤器,并且只显示与该订单相关的 sscc、批次和材料。
首先,用户选择@time_from
和@time_to
后,将启用其他参数。但是第四个案例打破了前三个条件。
第四种情况; @material
、@batch
和 @sscc
取决于 order_id。
这就是我使用级联参数的原因。但是如果我不选择order_id,我将无法选择@material
、@batch
和@sscc
,因为它们将被禁用。
选择@time_from
和@time_to
参数后,我想查看所有参数,我希望@material
、@batch
和@sscc
依赖order_id。
例如;当我选择@time_from
和@time_to
时,我必须选择@material
但是当我选择@time_from
和@time_to
然后我选择@order_id
、@material
、@batch
和@sscc
必须依赖于@order_id
。
我想使用级联参数,但不能禁用参数。
我附上了一些截图。我该怎么做?
1-all parameter depends on time_from and time_to parameter
2-after I choose @time_from and @time_to I want to show all parameter
【问题讨论】:
【参考方案1】:如果您允许空值,那么您可以设置一个 SQL 查询来支持您的参数...
select
'All' as [Label],
null as [Value]
union all
select
o.Name as [Label],
o.ID as [Value]
from dbo.Orders as [o]
这假定您的订单包含名称和 ID 列。 然后,您可以使用它来为 Orders 参数的可用值列表提供支持。 然后,您可以使用...过滤您以后的查询。
where (b.ID in (@Orders) or (@Orders) is null)
这将检查 OrderID 是否在列表中,或者订单列表是否为空(因此返回全部)。
【讨论】:
感谢您的帮助,我可以为@order 参数选择空值。 但我在报告参数属性上单击“允许空值”。 但我无法在预览页面的@order 参数附近显示空按钮。 您在选择中的“全部”值是空值 - 在此方法中您实际上并未使用复选框将其设为空 @Aylin 恐怕我不确定你在问什么。该参数是一个值列表,顶部的“All”为空值。选择此值可显示所有值,就好像没有选择特定值一样。如果您需要通常使用“All”选项的单值参数,则此方法有效。以上是关于如何在 s-s-rs 中启用级联参数的主要内容,如果未能解决你的问题,请参考以下文章
如何在代码中首先在 TPT(每种类型的表)继承中启用级联删除?
在 s-s-rS 报告中使用级联多选下拉菜单时,取消选中所有复选框不起作用