我正在使用 .NET ReportViewer 控件。
如果用户是管理员,我们只想显示“经销商”下拉列表。
是否可以根据传入的另一个参数(例如 IsAdmin)隐藏“Dealer”下拉控件?
参数的
Hidden
属性只能是 True
或 False
,因此您不能使用动态更改可见性的表达式。
但是,您可以做的是使
@Dealer
参数的可用值根据登录用户限制选择。例如,假设每个用户都属于一个经销商,但管理员可以看到所有经销商。使 @Dealer
参数的可用值的 SQL 类似于:
SELECT DealerId, DealerName
FROM Dealers
WHERE @UserId = 'Admin'
OR DealerId IN (SELECT DealerId FROM Users WHERE UserId = @UserId)
现在,当用户是管理员时,该参数将显示所有经销商,但当用户不是管理员时,仅显示该用户的特定经销商。将参数默认为用户经销商即可。
@UserId 是当前登录用户的全局参数。
在 SSRS Report Visual Studio 中,我有两个名为 Unit 的参数,此类型中的类型有两个称为 with 和 without 的值,如果我选择 with 值,则单位参数必须隐藏,如果我选择 without 单位参数必须可见如何?