我在 PowerApps 中创建日历应用程序时遇到问题,无法正确前进到下个月

问题描述 投票:0回答:1

我正在 PowerApps 中为一个项目创建一个日历应用程序。

一切都进行得很好,直到我到达需要创建按钮以跳到下个月的部分:

Set(varVideoMonth; DateAdd(varVideoMonth; 月(今天())));; 设置(varVideoFirstDayView;DateAdd(varVideoMonth; - 工作日(varVideoMonth)+ 1));;

这是我现在的代码。单击后,它应该会更改日历中查看的第一天,因此应该是 11/26,然后是 12/31,然后是 01/28,等等。但这段代码实际上只前进了一周,所以它显示的是 11/12,而不是第一个结果应该是 11/26。

我是根据 YouTube 教程制作这个日历的,但该视频是 2 年前的,我无法在任何 AI 机器人中找到帮助(我尝试过 GPT 和 Bard)。请问有人知道怎么做吗

我尝试更改变量,并更改数字计数器,但我得到的只是弄乱了几天和几周。现在我的项目正在正确地获取日期和工作日,但我唯一的问题是推进整个月而不是一周。

calendar project powerapps weekday monthcalendar
1个回答
0
投票

看起来您更新

varVideoMonth
变量的方式可能存在一个小问题。
DateAdd
函数添加当前月份,而不是前进到下个月。要解决此问题,您可以使用
DateAdd
1
参数来添加要添加的月数。

这是更正后的代码:

Set(varVideoMonth, DateAdd(varVideoMonth, 1))
Set(varVideoFirstDayView, DateAdd(varVideoMonth, - Weekday(varVideoMonth) + 1))

这样,当您单击按钮时,它会将 1 个月添加到

varVideoMonth
变量,然后将
varVideoFirstDayView
设置为新月份的第一天。

如果这仍然无法按预期工作,您可能需要检查

varVideoMonth
的初始值,并确保其正确设置为当前日期或您想要作为起点的日期。

出于调试目的,您可以使用

Text
函数在标签或其他可见元素中显示变量的值:

Set(varVideoMonth, DateAdd(varVideoMonth, 1))
Set(varVideoFirstDayView, DateAdd(varVideoMonth, - Weekday(varVideoMonth) + 1))

// Display the values for debugging
Set(Label1.Text, Text(varVideoMonth, "MM/DD"))
Set(Label2.Text, Text(varVideoFirstDayView, "MM/DD"))

这样,您可以在单击按钮时观察

varVideoMonth
varVideoFirstDayView
值的变化并识别任何意外行为。

© www.soinside.com 2019 - 2024. All rights reserved.