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

Power Apps画布首页按钮映射Dataverse表的Power FX语法求助

Power Apps模型驱动应用画布按钮跳转Dataverse表单/视图问题解决

你在模型驱动应用的自定义画布首页中,尝试用Power FX让按钮跳转至Dataverse表(Productions)的表单,但现有代码无法生效。先看你现有代码的问题:

  • 画布应用的Navigate函数仅用于跳转画布内部页面,模型驱动应用中打开Dataverse的表单/视图需要用Launch函数配合应用深度链接。
  • Defaults('Productions (Forms)')是获取表的默认记录模板,不能作为导航参数使用。

以下是针对不同场景的正确代码:

1. 打开新建记录表单

如果按钮用于创建新的Productions记录,代码如下:

Switch(
    ThisItem.ButtonTitle,
    "Form", // 保留你原有的按钮标题文本
    Launch(
        $"{App.LaunchUri}/main.aspx?appid={App.AppId}&pagetype=entityrecord&etn=productions&newWindow=true"
    )
)
  • App.LaunchUri:自动获取当前模型驱动应用的基础URL,无需硬编码
  • App.AppId:动态获取当前应用的ID,避免环境切换后失效
  • etn=productions:替换为你Dataverse表的逻辑名称(在表设置的"高级"选项卡中查看,不要用显示名称)
  • pagetype=entityrecord:指定打开实体记录表单,不带ID参数时默认打开新建页面

2. 打开现有记录的表单

如果按钮绑定了具体的Productions记录,要打开对应记录的详情表单,代码修改为:

Switch(
    ThisItem.ButtonTitle,
    "Form",
    Launch(
        $"{App.LaunchUri}/main.aspx?appid={App.AppId}&pagetype=entityrecord&etn=productions&id={ThisItem.Id}"
    )
)
  • ThisItem.Id:替换为你绑定记录的ID字段引用(确保画布页面的数据源已正确关联Productions表)

3. 打开表的视图

如果需要跳转到Productions表的视图(比如默认视图),代码如下:

Switch(
    ThisItem.ButtonTitle,
    "View", // 对应视图按钮的标题
    Launch(
        $"{App.LaunchUri}/main.aspx?appid={App.AppId}&pagetype=entitylist&etn=productions"
    )
)
  • pagetype=entitylist:指定打开实体列表视图
  • 若要打开特定视图,可添加&viewid=视图GUID参数,视图GUID可从模型驱动应用的视图设置中复制

注意事项

  • 确保画布页面已添加到模型驱动应用所在的解决方案中,且当前用户拥有Dataverse表的访问权限
  • 确认表的逻辑名称正确,这是深度链接生效的关键
  • 命令栏按钮的配置逻辑与画布按钮一致,只需将按钮的OnSelect事件设置为对应代码即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 18:45:22