简介
商业应用程序数据存储的一个常见要求是具有数据列,数据列中包含标准化的不定期更改的值列表,以帮助确保数据一致性。 输入数据的用户将从列表中选择一个选项,而不是键入自由形式的值。 这些选项的示例包括国家/地区列表、事件优先级、满意度评级等。
Microsoft Dataverse 有一种支持此概念的列类型,即选项列。 选项列允许用户从列表中选择值。 默认情况下。用户可以进行单选,但可以很容易地将列配置为允许来自单个已知值列表的多个值。 例如,主要类别可以是一个单选列,其他类别可以针对多选进行配置,两者可使用相同的类别列表。
系统或定制器会定义选项列的值列表,并且会将这些值存储为表列元数据。 与应用程序数据不同,只有应用制作者可以修改它,应用用户不能进行修改。 此功能的一个好处是,当您构建一个使用值列表的应用时,您的公式可以使用选项列表的名称。 您的公式还可以使用公式中值的显示名称。 例如,以下公式基于类别列(即单选列)对项目的填充属性设置颜色。
在撰写该公式时,Power Apps 将了解类别列的可能值,并允许您从选项列的已知值列表中选择要比较的值。
注意
如果您在选项列表中添加或更改了值,并且已修改的项目尚未显示在编辑器中,请刷新数据面板上的表,方法是选择表旁边的省略号 (...),并从弹出菜单中选择刷新。
本地与全局
您可以将可用选项值的列表创建为本地或全局列表。 本地选择列表值仅用于定义它们的列,并且只能在该表中使用。 全局选择选项允许将列表用于同一个表或多个不同表中的多个列。 当您创建新的选项列时,是否与全局选择同步? 选项的默认值为是(推荐)。 全局选择选项允许在其他表中使用相同的选项。 除非您确信这些值仅适用于该单个表中的单个列,否则您需要使用全局选择值。
选择是时,请注意将此选项与以下对象同步将成为必填字段,您必须为这些选项做出选择。 选择此字段时,一个显示各种可用选项的窗格将出现在“新建列”窗格的旁边。 您可以键入要查找的选项类型,也可以滚动浏览列表以选择一种类型。 另请注意,当您将鼠标悬停在任意选项集上时,可以预览已经属于该选项集的选项。
另外,也可以通过以下方法创建新选项集:选择 + 新建选项,然后输入有关选项的信息。
请注意,您还可以在创建列时为其分配默认选项。 无需担心,您可以稍后返回并设置或更改默认选项。
如果确定要将选择选项保留为本地选项集,可在是否与全局选择同步? 下选择否。 在这种情况下,您可以在否按钮下方定义您的选项。 (至少需要一个选项。)您只需要为该选项添加一个标签;Power Apps 会自动为该项目分配一个整数值,您可以根据需要对其进行更改。 您还可以通过选择所输入的标签名称左侧的框来为每个选项选择一种颜色。 在选择颜色弹出窗口中,您可以通过十六进制或 R-G-B 值的输入字段对颜色值进行硬编码。 或者,您可以调整颜色滑块条并使用滑块上方的框对颜色滑块中的内容进行微调。 仅在模型驱动应用中引用此颜色。
您可以通过选择 + 新建选项按钮并重复该流程来添加更多选项。
如果需要允许用户选择多个选项,则必须在完成列创建之前选中“允许选择多个选项”框,因为此选项将在创建列后禁用。
显示列值
当所选数据存储在 Dataverse 行中时,将仅存储数字值,而不存储文本。 对于多选项,存储以逗号分隔的数值列表以表示存在多个选择。
对于单选值和多选值,值在控件(如标签)中的显示方式不同。 可以使用选择字段设置标签的值以显示列表文本值。 例如,如果您有用于客户类别的类别选项字段,则可以使用以下公式在库的标签中显示此字段。
对于多选列,记录上的属性为“表”类型。 这是一个具有值列的单列表,每行都表示一个选定的值。 若要显示用户友好的、逗号分隔的文本值列表,需要进行一些预处理。 例如,如果您有一个首选交货日期列,允许用户选择一个或多个工作日交货,则您将使用以下公式在标签上设置 Text 属性。
本公式将导致屏幕上显示以下所选值的列表。
选项与查找
一个常见的数据建模决策是在选项列和查找列之间,或在多项选择和多对多关系之间做出选择。 答案无正确或错误之分。 但是,您的决定会影响您管理值列表的方式以及您可以应用的公式。 考虑下表中总结的差异。
选项 | 查找或多对多关系 |
---|---|
列表由制作者修改,没有用户编辑。 | 列表仅限表数据,适用常规安全性。 |
数据以整数或逗号分隔的数字列表(有多个数字时)形式存储。 | 数据以表引用的形式存储。 |
没有内置的方式停用或弃用选择。 | 支持行上的停用状态,并且可以通过应用中的公式进行筛选以限制选择。 |
作为具有完整 ALM 支持的解决方案组件进行处理。 | 视为引用数据处理。 |
只有标签、值和颜色,并且只有标签在公式中可用。 (例如,仅根据显示标签进行筛选和排序。) | 可以将其他数据添加到可在公式中使用的查找目标表。 (例如,对添加到表中的任何列进行筛选和排序。) |
内置本地化。 | 自行处理本地化。 |
没有对依赖项选项列的内置支持。 | 更方便创建数据模型并实现依赖项列。 (请参阅在画布应用中创建依赖项下拉列表。) |
请记住,创建列后,您将无法更改数据类型;因此,在创建列之前,请考虑应用、自动化或报告将如何使用数据。
本模块的其余部分将探究从 Microsoft Power Apps 生成画布应用时如何使用选项列。