PowerApps Canvas App:Dataverse表真实值显示及日期过滤问题
问题解决方案
一、Contact/Supervisor字段显示ID而非可读文本的解决办法
这不是Bug,是Dataverse Lookup字段在Canvas App DataTable中的默认表现——Lookup字段默认绑定关联记录的ID值,而非关联表的显示字段。以下两种方法可解决:
方法1:直接修改DataTable字段绑定
- 选中DataTable控件,在右侧属性面板打开【Fields】配置项
- 找到Contact、Supervisor字段,点击字段旁的编辑图标
- 在【Data field name】下拉列表中,展开对应Lookup字段的选项,选择关联表的可读字段(比如
Contact.'Full Name'、Supervisor.'Full Name'),替换默认的ID绑定项
方法2:用AddColumns重构数据源
如果方法1中找不到关联字段的显示选项,可在DataTable的Items属性中使用AddColumns函数,将Lookup字段的可读文本提取为新列:
AddColumns( 'Current Cases', "联系人名称", Contact.'Full Name', "主管名称", Supervisor.'Full Name' )
之后在DataTable的【Fields】中添加新创建的联系人名称、主管名称列,移除原来的Contact、Supervisor字段即可。
二、筛选Modified On超过14天的记录
直接在DataTable的Items属性中使用Filter函数实现动态筛选:
Filter( 'Current Cases', ModifiedOn < DateAdd(Today(), -14, Days) )
如果需要同时结合Lookup字段的文本显示,将两个逻辑合并:
AddColumns( Filter( 'Current Cases', ModifiedOn < DateAdd(Today(), -14, Days) ), "联系人名称", Contact.'Full Name', "主管名称", Supervisor.'Full Name' )
注意:确保ModifiedOn是你的Dataverse表中对应字段的内部名称,若环境中显示为中文“修改时间”,则函数中需使用'修改时间'(带单引号)。
内容的提问来源于stack exchange,提问作者Mich28
相关产品推荐
相关产品推荐

