Power Apps基于Excel后端实现仅显示当前用户休假记录问询
解决Power Apps休假追踪应用的两个权限与数据展示问题
问题1:根据登录用户的EmployeeID展示个人详情
获取当前登录用户的匹配标识:
登录验证通过后,从你的Excel用户凭据表中,根据当前登录用户的邮箱(用User().Email获取)匹配对应的EmployeeID,并存储到全局变量中,比如:Set(gblCurrentEmployeeID, LookUp(用户凭据表, 用户邮箱 = User().Email, EmployeeID))(如果你的凭据表用姓名或其他字段匹配,替换
User().Email为对应的User().FullName等即可)绑定个人详情数据:
- 若用表单控件展示详情,直接把表单的
DataSource属性设置为:LookUp(用户详情表, EmployeeID = gblCurrentEmployeeID) - 若用单独标签展示字段,比如姓名标签的
Text属性:LookUp(用户详情表, EmployeeID = gblCurrentEmployeeID, 姓名)
- 若用表单控件展示详情,直接把表单的
问题2:限制登录用户仅查看/编辑自身休假记录
过滤列表展示内容:
把休假记录列表(Gallery)的Items属性设置为:Filter(休假记录表, EmployeeID = gblCurrentEmployeeID)这样Gallery只会加载当前登录用户的休假记录,不会显示其他人的。
控制编辑权限:
- 若列表里有编辑按钮,把按钮的
DisplayMode属性设置为:If(ThisItem.EmployeeID = gblCurrentEmployeeID, DisplayMode.Edit, DisplayMode.Disabled) - 进入详情编辑页后,表单的
Edit属性或保存按钮的Visible也加同样判断,确保只有当前用户自己的记录才能被编辑。
- 若列表里有编辑按钮,把按钮的
修复跳转逻辑(可选):
如果保留了非过滤的列表入口,在详情页加载时增加权限校验:If(SelectedRecord.EmployeeID <> gblCurrentEmployeeID, Notify("无权限查看此记录", NotificationType.Error); Navigate(首页))
内容的提问来源于stack exchange,提问作者iOS Legend
相关产品推荐
相关产品推荐

