Power Apps自定义SP列表表单日期下拉框格式化及拼接问题
解决Power Apps下拉框日期显示及拼接问题
1. 将筛选后的日期列转为yyyy-mm-dd格式显示
你直接取Filter('My List', Employee.DisplayName=DataCardValue2.Selected.DisplayName).StartDate得到的是日期类型的表,下拉框默认会显示日期的底层数值(也就是Epoch时间)。要批量转换格式,用AddColumns函数给筛选后的表新增一个格式化后的文本列,再指定下拉框的显示项:
AddColumns( Filter('My List', Employee.DisplayName=DataCardValue2.Selected.DisplayName), "FormattedStartDate", Text(StartDate, "yyyy-mm-dd") )
把下拉框的Items设为上面的公式,再将下拉框的DisplayFields属性设为["FormattedStartDate"],Value属性可根据需求选择StartDate(保留原始日期值)或FormattedStartDate(使用文本值)。
2. 拼接StartDate与EndDate填充下拉框
同样用AddColumns生成拼接后的文本列,将两个日期格式化后用分隔符连接:
AddColumns( Filter('My List', Employee.DisplayName=DataCardValue2.Selected.DisplayName), "DateRange", Text(StartDate, "yyyy-mm-dd") & " 至 " & Text(EndDate, "yyyy-mm-dd") )
设置下拉框的Items为这个公式,DisplayFields设为["DateRange"]即可。如果后续逻辑需要用到原始日期值,也可以在AddColumns里同时保留StartDate和EndDate列。
补充提示
- 尽量用
Employee.Email = DataCardValue2.Selected.Email替代DisplayName匹配,避免重名导致的筛选错误。 AddColumns的核心是扩展表结构,既保留原始数据,又生成专门用于显示的格式化字段,完美适配下拉框的需求。
内容的提问来源于stack exchange,提问作者Aboba
相关产品推荐
相关产品推荐

