练习 - Dataverse 单选项列
在本练习中,您将帮助 Contoso 将选项列添加到现有 Dataverse 表。 然后修改其产品管理应用以使用新列。
目标
本练习旨在帮助您学习如何:
创建选项列。
利用选项列在应用中使用筛选数据。
使用 Patch() 函数更新列值。
先决条件
要完成本练习,您需要包含 Microsoft Dataverse 的环境。
练习 1:导入解决方案
在本练习中,您将解决方案导入环境中。 本解决方案包含产品表和产品管理应用程序。
任务 1:导入起始解决方案
在本任务中,您将解决方案导入环境中。
您需要下载 zip 文件 以便完成本练习。 在链接打开后选择下载。
转到 Power Apps maker portal 并选择要用于本实验的环境。
选择解决方案 > 导入解决方案。
选择浏览。
查找/选择 ContosoProductChoiceLab_1_0_0_0.zip 解决方案,然后选择打开。
选择下一步。
选择导入,然后等待解决方案导入流程完成。
任务 2:运行应用程序
在本任务中,您将运行 Contoso 产品管理器应用程序并添加产品行。
打开 Contoso 产品选项实验室解决方案并选择 Contoso Product Manager 应用。 (在播放模式下打开。)
注意
检查应用设置以确保“禁用公式级别错误管理”切换为关。 在设置中,选择更新,然后搜索“禁用公式级别错误管理”以进行查找。 此功能现在位于已停用部分中。
从 BrowseScreen1 中,选择新建物料按钮(加号 + 图标)。
在名称中输入测量小工具,然后选择保存。
再添加若干产品行。
您现在应至少有三款产品。
关闭应用程序浏览器窗口或选项卡。
练习 2:创建列
在本练习中,您将创建两个数据类型为单选项的列:一列用于产品可见性,另一列用于销售渠道。
注意
注意区分数据类型为单选和多选的列。
任务:创建单选列
在本任务中,您将创建两个数据类型为单选的列。
转到 Power Apps Maker Portal,然后选择解决方案。
选择您导入的 Contoso 选项实验解决方案。
选择产品表。
在架构窗格中,选择列。
在列视图中,选择 + 新建列。
在屏幕右侧的新建列窗格中,在显示名称中输入产品可见性,在数据类型下选择选项,然后在下拉列表中选择单选。
在将此选项与以下对象同步下,选择 + 新建选项。
在屏幕右侧的新建选项窗格中,在显示名称字段中输入 chProductVisibility。 在名称前加上“ch”有助于识别单选集。
为选项下的第一项输入专用,然后选择 + 新建选项。
为第二个选项输入邀请,然后选择 + 新建选项。
输入公开,然后选择保存。
在将此选项与以下对象同步下的搜索字段中输入 chProductVisibility,以查找/选择您创建的选项集。 chProductVisibility 现在应该显示在该字段中。
选择保存,之后新建列窗格将消失。
再次选择 + 新建列。
在显示名称中输入销售渠道,在数据类型中选择单选项,然后从下拉列表中选择选项。
选择允许选择多个选项旁边的复选框。 这是为了让列支持多个选项(不要忘记这一步)。
在将此选项与以下对象同步下,选择 + 新建选项。
在显示名称中输入 chSalesChannels,为第一项输入批发,然后选择 + 新建选项。
为第二项输入零售,然后选择 + 新建选项。
输入直接,然后选择保存。
在将此选项与以下对象同步下的搜索字段中输入 chSalesChannels,以查找/选择您创建的选项集。 chSalesChannels 现在应该显示在该字段中。
选择保存。
练习 3:修改窗体和库
在本练习中,您将修改Contoso 产品管理器应用程序的编辑窗体和库。
任务:编辑应用程序
在本任务中,您将编辑Contoso 产品管理器应用程序。
如果您已退出,请找到您的解决方案,然后选择打开 Contoso 产品选项实验解决方案。 如果您仍在解决方案中,请在对象导航窗格中查找/选择应用。
选择打开Contoso 产品管理器应用程序。
应用程序将在应用工作室中打开。
在树视图选项卡中,展开 EditScreen1,然后选择 EditForm1。
选择编辑字段。
选择创建时间列更多操作省略号 (...) 按钮,然后选择移除。
选择+ 添加字段。
选择产品可见性和销售渠道列,然后选择添加。
关闭字段窗格。
展开BrowseScreen1并选择BrowseGallery1。
选择库中的编辑图标。
将TemplateSize改为230。
选择库内的标题标签并将其移至模板顶部。
在编辑库期间,选择插入选项卡并展开输入,然后选择下拉。
调整下拉控件大小并重新定位,将下拉列表的项目值改为以下公式。
Choices(Products.'Product visibility')
将下拉控件的默认值设置为以下公式。
ThisItem.'Product visibility'
在编辑库期间,转到插入选项卡并选择文本标签。
将标签重命名为渠道。
将渠道标签移至下拉列表控件下方,然后调整大小。
设置添加到以下公式的渠道标签的文本值。 本公式将连接选定的选项。
Concat(ThisItem.'Sales channels',Text(Value),",")
确保您仍在编辑库。 选择+ 插入 > 矩形。
将矩形的X值和Y值设置为0。
将矩形的宽度属性设置为6。
将矩形的高度属性设置为220。
将矩形的填充值设置为以下公式。 本公式将为产品可见性列值的每个选项提供不同的填充颜色。
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)。
此时应加载应用程序。
为其中一款产品选择下一项箭头。
选择编辑按钮。
对于销售渠道,选择零售和直接销售。 然后,对于产品可见性,选择专用,然后选择保存。
选择后退按钮。
选择打开其他产品。
选择编辑。
对于销售渠道,选择零售,对于产品可见性,选择公开,然后选择保存。
选择后退按钮。
选择打开其他产品。
选择编辑。
对于销售渠道,选择直接销售,为产品可见性选择邀请,然后选择保存。
选择后退按钮。
库应如下图所示。 查看结果后关闭预览。
请勿导航离开本页面。
练习 4:使用筛选
在本练习中,您将按产品可见性筛选库行。
任务:使用筛选
在本任务中,您将按产品可见性筛选库行。
在BrowseScreen1中选择TextSearchBox1。
将搜索框的 Width 改为以下公式。
Parent.Width/2
从功能区中选择插入并展开输入,然后选择下拉。
将下拉项重命名为可见性筛选器。
调整可见性筛选器的大小并重新定位,然后将其放置在搜索框右侧。
将可见性筛选器的项目值设置为以下公式。
Choices(Products.'Product visibility')
将可见性筛选器的AllowEmptySelection值设置为true。
将可见性筛选器的 Default 值设置为以下公式。
Blank()
从功能区中选择插入并展开图标,然后选择取消。
调整图标大小并重新定位,然后将其放置在下拉箭头右侧。
将图标的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, "contoso_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按钮应变为隐藏状态。
关闭预览。
选择保存。