练习 - Dataverse 单选项列
在本练习中,您将帮助 Contoso 将选项列添加到现有 Dataverse 表。 然后修改其产品管理应用以使用新列。
目标
本练习旨在帮助您学习如何:
创建选项列。
利用选项列在应用中使用筛选数据。
使用 Patch() 函数更新列值。
先决条件
要完成本练习,您需要包含 Microsoft Dataverse 的环境。
练习 1:导入解决方案
在本练习中,您将解决方案导入环境中。 本解决方案包含产品表和产品管理应用程序。
任务 1:导入起始解决方案
在本任务中,您需要将解决方案导入到环境中。
您需要下载 zip 文件以完成本练习。 在链接打开后选择下载。
转到 Power Apps maker portal 并选择要用于本实验的环境。
选择解决方案 > 导入解决方案。
选择浏览。
查找/选择 ContosoProductChoiceLab_1_0_0_0.zip 解决方案,然后选择打开。
选择下一步。
选择导入,然后等待解决方案导入流程完成。
任务 2:运行应用程序
在本任务中,您将运行 Contoso Product Manager 应用程序并添加产品行。
打开 Contoso Product Choice Lab 解决方案。
注意
检查 Contoso Product Manager 应用设置 以确保禁用公式级别错误管理 切换为关。 在编辑模式下打开应用。 在设置中,选择更新,然后搜索禁用公式级别错误管理以进行查找。 (如果找不到设置,请选择页面顶部背景色 旁边的三个省略号。)此功能现在位于已停用部分中。 将其关闭。 保存并关闭应用。
现在,在播放模式下选择并打开 Contoso Product Manager 应用。
从 BrowseScreen1 中,选择新建项目按钮(加号 + 图标)。
在名称中输入测量小工具,然后选择保存。
再添加若干产品行。
您现在应至少有三款产品。
关闭应用程序浏览器窗口或选项卡。
练习 2:创建列
在本练习中,您将创建两个数据类型为单选的列:一列是 Product visibility,另一列是 Sales channels。
注意
注意区分数据类型为单选和多选的列。
任务:创建单选列
在本任务中,您将创建两个数据类型为单选的列。
转到 Power Apps Maker Portal,然后选择解决方案。
选择您导入的 Contoso Choice Lab 解决方案。
导航到表,然后选择并打开 Product 表。
在架构窗格中,选择列。
在列视图中,选择 + 新建列。
在屏幕右侧的新建列窗格中,在显示名称中输入 Product visibility,在数据类型下选择单选,然后在下拉列表中再次选择单选。
在将此选项与以下对象同步下,选择 + 新建选项。
在屏幕右侧的新建选项窗格中,在显示名称字段中输入 chProductVisibility。 在名称前加上“ch”可以更轻松地确定这是单选集。
为多选下的第一项输入专用,然后选择 + 新建选项。
为第二个选项输入邀请,然后选择 + 新建选项。
输入公开,然后选择保存。
在将此选项与以下对象同步下的搜索字段中输入 chProductVisibility,以查找/选择您创建的选项集。 chProductVisibility 现在应该显示在该字段中。
选择保存,之后新建列窗格将消失。
再次选择 + 新建列。
在显示名称中输入销售渠道,在数据类型中选择单选项,然后从下拉列表中选择选项。
选中允许选择多个选项旁边的框。 这是为了让列支持多个选项。 (不要忘记此步骤,因为以后无法更改它。)
在将此选项与以下对象同步下,选择 + 新建选项。
在显示名称中输入 chSalesChannels,为第一项输入批发,然后选择 + 新建选项。
为第二项输入零售,然后选择 + 新建选项。
输入直接,然后选择保存。
在将此选项与以下对象同步下的搜索字段中输入 chSalesChannels,以查找/选择您创建的选项集。 chSalesChannels 现在应该显示在该字段中。
选择保存。
练习 3:修改窗体和库
在本练习中,您将修改Contoso 产品管理器应用程序的编辑窗体和库。
任务:编辑应用程序
在本任务中,您将编辑Contoso 产品管理器应用程序。
如果您已退出,请找到您的解决方案,然后选择打开 Contoso 产品选项实验解决方案。 如果您仍在解决方案中,请在对象导航窗格中,查找/选择应用
选择以在编辑 模式下打开 Contoso Product Manager 应用程序。 (选择应用名称旁边的三个省略号,然后选择编辑。)
应用程序将在应用工作室中打开。
从树视图选项卡中,展开 EditScreen1,然后选择 EditForm1。
从画布右侧的属性窗格中,选择编辑字段。
选择创建时间列更多操作省略号 (...) 按钮,然后选择移除。
选择+ 添加字段。
选择产品可见性和销售渠道列,然后选择添加。
关闭字段窗格。
返回到画布左侧的树视图,展开 BrowseScreen1,然后选择 BrowseGallery1。
选择库中的编辑图标。
将TemplateSize改为230。
选择库中顶部项内的标题标签并将其移至模板顶部。
仍在编辑库期间,再次选择顶部卡(这样选项卡内的文本字段和图标就不会选中)。 然后,从顶部菜单栏中选择插入,展开输入,然后选择下拉列表。
重设下拉列表控件的大小并将其重新定位到您刚才位于顶部的名称字段下方。 将下拉列表的 Items 值更改为以下公式。
Choices(Products.'Product visibility')将下拉列表控件的 Default 值设置为以下公式。
ThisItem.'Product visibility'仍在编辑库期间,再次选择顶部项目(这样就不会选择任何文本、图标或下拉列表)。 转到插入选项卡,然后选择文本标签。
将标签重命名为渠道。
将渠道标签移至下拉列表控件下方,然后调整大小。
设置添加到以下公式的渠道标签的文本值。 本公式将连接选定的选项。
Concat(ThisItem.'Sales channels',Text(Value),",")确保您仍在编辑库。 选择+ 插入 > 矩形。
将矩形的X值和Y值设置为0。
将矩形的宽度属性设置为6。
将矩形的高度属性设置为220。
将矩形的填充值设置为以下公式。 本公式将为 Product visibility 列值的每个选项提供不同的填充颜色。
Switch(ThisItem.'Product visibility', chProductVisibility.Private, Color.Red, chProductVisibility.Public, Color.Green, chProductVisibility.Invite, Color.Blue, Color.Black)选择库,然后删除 OnSelect 值,以清空 fx 公式字段。
选择库中顶部项内的 NextArrow1。
将 NextArrow1 的 OnSelect 值设置为以下公式。
Navigate(DetailScreen1, ScreenTransition.None)选择屏幕右上角的保存。
选择预览应用(或按 F5)。
此时应加载应用程序。
为其中一款产品选择下一项箭头。
选择编辑按钮。
对于销售渠道,选择零售和直接销售。 然后,对于产品可见性,选择专用,然后选择保存。
选择后退按钮。
选择打开其他产品。
选择编辑。
对于销售渠道,选择零售,对于产品可见性,选择公开,然后选择保存。
选择后退按钮。
选择打开其他产品。
选择编辑。
对于销售渠道,选择直接销售,为产品可见性选择邀请,然后选择保存。
选择后退按钮。
库应如下图所示。 在您查看完结果后,通过选择右上角的 X 关闭预览。
请勿导航离开本页面。
练习 4:使用筛选
在本练习中,您将按产品可见性筛选库行。
任务:使用筛选
在本任务中,您将按产品可见性筛选库行。
在BrowseScreen1中选择TextSearchBox1。
将搜索框的宽度更改为以下公式。
Parent.Width/2在左侧的树视图菜单中,选择 BrowseScreen1。 然后,从顶部的功能区中,选择插入,展开输入,然后选择下拉列表。
将下拉项重命名为可见性筛选器。
调整可见性筛选器的大小并重新定位,然后将其放置在搜索框右侧。
将可见性筛选器的项目值设置为以下公式。
Choices(Products.'Product visibility')将可见性筛选器的AllowEmptySelection值设置为true。
将可见性筛选器的 Default 值设置为以下公式。
Blank()再次在左侧的树视图中,选择 BrowseScreen1。 然后,从功能区中,选择插入,展开图标,然后选择取消。
将取已取消图标重新定位到下拉箭头右侧,然后重设其大小。
将图标的 OnSelect 值设置为以下公式。
Reset('Visibility filter')将图标的可见值设置为以下公式。
If(IsBlank('Visibility filter'),false,true)选择BrowseGallery1,然后将项目值改为以下公式。 本公式将现有公式改为包括使用用户所选值的 Filter() 函数。
SortByColumns( Search( Filter([@Products],IsBlank('Visibility filter'.Selected) || 'Product visibility' = 'Visibility filter'.Selected.Value), TextSearchBox1.Text, Name ), "contoso_name", If( SortDescending1, SortOrder.Descending, SortOrder.Ascending ) )选择预览应用(或按 F5)。
将可见性筛选器改为专用。 库应仅显示专用产品。
选择X图标。 库应显示所有产品。
关闭预览。
请勿导航离开本页面。
练习 5:使用 Patch 公式
在本练习中,您将使用 Patch 公式更新产品表行。
任务:使用 Patch() 公式
展开BrowseGallery1并选择Dropdown1控件。
将下拉列表控件的 OnChange 值设置为以下公式。 本公式在下拉列表控件值发生变化时更新行。
Patch(Products,ThisItem,{'Product visibility':Self.Selected.Value})选择库,然后选择编辑图标。
从功能区中选择插入并展开图标,然后选择取消。
将图标放置在右下角。
将图标的可见值设置为以下公式。
If(IsBlank(Channels.Text),false,true)将图标的 OnSelect 值设置为以下公式。 本公式在选择图标时删除所有选定的销售渠道。
Patch(Products,ThisItem,{'Sales channels':Blank()})选择预览应用。
更改其中一款产品的产品可见性。 此时产品应更新。
选择第一款产品的X图标。 此时应清除产品的销售渠道,对于该项目,X 按钮应变为隐藏状态。
关闭预览。
选择保存。