You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerApps中Toggle勾选自动填充时间戳,查看旧记录保留初始值问题

解决方案

1. 用变量临时存储勾选触发的时间戳

给Toggle控件(DataCardValue12)设置以下属性:

  • OnCheck:
    Set(varCapturedTime, Now())
    
  • OnUnCheck:
    Set(varCapturedTime, Blank())
    

注:如果取消勾选时想保留已填充的时间,可删除OnUnCheck的赋值逻辑。

2. 配置TextInput的显示逻辑

修改TextInput控件的Value属性,区分新建/编辑/查看场景:

If(
    Form1.Mode = FormMode.New,
    // 新建记录:勾选Toggle则显示变量存储的当前时间,否则为空
    If(DataCardValue12.Checked, varCapturedTime, Blank()),
    // 编辑/查看旧记录:直接读取SharePoint中保存的原始时间
    thisItem.你的时间字段名
)

请把你的时间字段名替换成你SharePoint列表中实际存储时间的字段(比如你代码里的Sales如果是时间字段就用它,否则改成正确字段名)

3. 确保保存值的正确性

找到TextInput所在的数据卡片,设置其Update属性:

If(
    DataCardValue12.Checked,
    // 勾选状态:优先用变量(新建或编辑时重新勾选的新时间),无变量则用原有记录值
    Coalesce(varCapturedTime, thisItem.你的时间字段名),
    // 未勾选状态:可选择清空字段或保留旧值,根据需求二选一
    Blank()
    // 如果要保留旧值,就替换为 thisItem.你的时间字段名
)

4. 可选:屏幕加载时重置变量

在表单所在屏幕的OnVisible属性中添加初始化逻辑,避免变量残留值影响新记录:

Set(varCapturedTime, Blank())

这样设置后:

  • 新建记录:勾选Toggle自动填充当前时间,取消则清空;
  • 查看/编辑旧记录:直接显示原始保存的时间,不会自动更新;
  • 编辑时重新勾选Toggle,会更新为当前时间,满足修改需求。

内容的提问来源于stack exchange,提问作者Aamante

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 19:12:47