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

如何在PowerApps中通过SOPNUMBER关联创建嵌入式父子表单

enter image description here

PowerApps 基于SOPNUMBER关联父子表单实现方案

一、父表SOPNUMBER值传递到子表配置

  • 先存储当前生效的SOPNUMBER值,根据单号生成规则选对应配置即可:
    • 如果SOPNUMBER是父表提交到SQL后自动生成的编号,找到父表Edit Form控件,在它的OnSuccess属性写以下公式,提交成功后自动把最新生成的单号存为全局变量:
      Set(CurrentSOPNumber, Self.LastSubmit.SOPNUMBER)
      
    • 如果SOPNUMBER是用户在父表SOPNUMBER输入框(即你提到的DataCardValue8)手动录入的,在触发打开子表/子表单的按钮OnSelect属性写公式,跳转前先存下单号:
      Set(CurrentSOPNumber, DataCardValue8.Text);
      // 跳转到子表单独立页面时加这行,同屏放置两个表单不需要加
      Navigate(SalesOrderItemScreen)
      
  • 打开子表的Edit Form,找到SOPNUMBER字段对应的数据卡片,将卡片的Default属性设置为CurrentSOPNumber即可自动带入单号。如果不需要用户修改子表的关联单号,直接把该数据卡片的DisplayMode设为DisplayMode.View,或者设置Visible为false隐藏卡片,提交表单时关联值会自动写入SQL,不需要额外处理。

二、按SOPNUMBER筛选对应明细数据配置

  • 用来展示销售订单明细的Gallery控件,直接把Items属性设置为以下公式即可,用全局变量比直接绑定表单控件值更稳定,不会因为表单重置、控件状态变化导致筛选异常:
    Filter(SOP10200, SOPNUMBER = CurrentSOPNumber)
    

注意:如果SQL中SOPNUMBER字段是数值类型而非文本类型,直接匹配变量值即可,不要引用控件的.Text属性,避免出现类型不匹配报错。

避坑提示

  • 父表为新建模式时,必须等父表单提交成功(OnSuccess事件触发)后再允许用户提交子表单数据,否则会拿到空SOPNUMBER导致关联失败。可以把子表单提交按钮的DisplayMode设为If(IsBlank(CurrentSOPNumber), DisplayMode.Disabled, DisplayMode.Edit),空值状态下禁止提交。
  • 同屏放置父子两个表单不需要跳转页面的场景,可以不用全局变量,直接将子表SOPNUMBER卡片的Default绑定父表对应输入控件的值即可,逻辑和上述一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 03:18:33