报表设计中,经常需要根据用户身份,决定显示哪些数据。
葡萄城报表提供的用户上下文(UserContext)表达式不仅可以取到当前登录报表系统的用户名,还可以获得用户所属角色、电子邮件地址等信息。相关的表达式如下:
(1)用户名
=UserContext.GetValue("Name")
(2)用户角色
=UserContext.GetValue("Roles")
(3)用户电子邮件
=UserContext.GetValue("Email")
将这样的表达式用于数据集参数,在查询语句中作为where子句的一部分,就可以实现按用户过滤数据。
请注意:
(1)这些表达式在本地设计器中返回空串,这是因为设计时还没有用户登录信息。
(2)通过定制开发安全提供程序,甚至可以获取任何有关当前用户的信息,比如所属部门、职务、业务区域等任何希望用于业务报表数据过滤的信息。