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

I am having a trouble creating a calendar app in PowerApps and I can't advance to the next month correctly

提问人:diogo 提问时间:11/10/2023 更新时间:11/13/2023 访问量:27

问:

我正在 PowerApps 中为项目创建日历应用。

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

Set(varVideoMonth;DateAdd(varVideoMonth;月(今天());; Set(varVideoFirstDayView;DateAdd(varVideoMonth; - Weekday(varVideoMonth) + 1));;

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

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

我试着改变变量,改变数字计数器,但我得到的只是搞砸了几天和几周。现在我的项目正在正确地处理几天和工作日,但我唯一的问题是推进整个月而不是一周。

日历 项目 PowerApps 工作日 月日历

评论


答:

0赞 aMir Kazemi 11/13/2023 #1

看起来您更新变量的方式可能存在一个小问题。该函数将添加当前月份,而不是前进到下个月。要解决此问题,可以将参数与要添加的月数一起使用。varVideoMonthDateAddDateAdd1

下面是更正后的代码:

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

这样,当您单击该按钮时,它将向变量添加 1 个月,然后设置为该新月的第一天。varVideoMonthvarVideoFirstDayView

如果这仍然无法按预期工作,您可能需要检查 的初始值,并确保它已正确设置为当前日期或您希望作为起点的日期。varVideoMonth

出于调试目的,可以使用 function 在标签或其他可见元素中显示变量的值: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"))

这样,您可以在单击按钮时观察 和 的值的变化,并识别任何意外行为。varVideoMonthvarVideoFirstDayView