我正在使用.NET ReportViewer控件。
如果用户是管理员,我们只想显示“经销商”下拉列表。
是否可以根据传入的其他参数隐藏“经销商”下拉控件,例如IsAdmin?
答案 0 :(得分:2)
参数的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是当前登录用户的全局参数。