向筛选栏添加字段

学习目标

  • 为 Date 类型的语义字段配置值帮助对话框。

列表报表顶部的筛选栏允许您使用指定参数筛选条目。您可以向筛选栏添加新字段,从而启用新的参数。例如,您可以只显示在某个特定日期开始并结束的条目。

您可以通过将 com.sap.vocabularies.UI.v1.SelectionFields 添加到您的注解文件来配置筛选栏字段。

您也可以使用 SAP Fiori 工具。您可以在两个选项之间选择:

  1. 使用引导式开发中的指南 添加和编辑筛选字段 。您将在本练习中了解此选项。

  2. 打开 Page Map 并在那里添加筛选字段。您已在单元 SAP Fiori 工具概览 (课程: 使用应用程序生成器创建第二个应用 )中介绍过这一点。

任务流程

您将首先检查更改前列表报表的外观。然后,您将使用引导式开发添加筛选字段。最后,您将检查结果。

前提条件

您已完成单元 配置列表报表和对象页面的常规功能 中的练习 更改标准 UI 文本(课程:调整标准 SAP Fiori Elements UI 文本)。或者,您可以检出其解决方案分支:solution/change-standard-ui-texts

观看模拟并执行步骤

本练习包含一个模拟,它会带您完成下面描述的所有步骤。您可以跟随该模拟,并使用您自己的试用账户执行这些步骤。

练习开始练习(SAP 官方交互式练习)

步骤

  1. 在列表报表中打开 Adapt Filters。您可以在弹出菜单中看到 End DateStarting Date 字段。选择 Cancel

  2. 使用引导式开发添加字段。

  3. 切换到 SAP Business Application Studio 并选择 *travel_processor > Open Guided Development*。在搜索字段中输入 filter 以减少显示的指南数量。

  4. 选择 Add and edit filter fields 并选择 Start Guide

  5. CDS File 下拉菜单中选择 app/travel_processor/layouts.cds,从 Service 菜单中选择 TravelService,从 Entity 菜单中选择 Travel

  6. 选择 Add selection field,然后从 Property 菜单中选择 BeginDate

  7. 向上滚动以添加另一个字段。选择 Add selection field,然后从 Property 菜单中选择 EndDate

  8. 向下滚动以查看您的 *layouts.cds* 文件的 CAP CDS @UI.SelectionFields 注解。选择 Insert Snippet 以添加它。

  9. 打开 *schema.cds* 文件以查看已添加的代码。

  10. 检查结果。

  11. 切换到应用预览。您可以看到已添加到筛选栏的 Starting DateEnd Date 字段。

  12. 注意您可以在两个字段的下拉菜单中看到日历日期、像 TodayTomorrow 这样的单个日期以及日期范围。

  13. 检查 CAP CDS Date 类型到 OData Edm.Date 类型的映射。字段 BeginDateEndDate 的类型为 Date,它是一种 CAP CDS 内置类型。您可以在 *schema.cds* 文件中看到每个属性的 CAP CDS 类型。CAP CDS 类型 Date 映射到 OData EDM 类型 Edm.Date,正如您在 $metadata 文件中所看到的。

结果

下面您可以看到 *schema.cds* 文件中 Travel 实体的定义,以及 Travel 实体相应的 OData 表示形式。

Schema.cds 文件,突出显示 BeginDate 和 EndDate

Travel 实体元数据,突出显示 BeginDate 和 EndDate

有关 CAP CDS 类型映射到 OData 类型的其他示例,请参阅 OData 类型映射

您已经看到,基于 Edm.Date 的字段开箱即用地在值帮助下拉菜单中以日历形式呈现。像 yesterdaytoday 这样的语义运算符在值帮助下拉菜单中默认启用,因为 @Capabilites.FilterRestrictions 注解从一开始就是您服务的一部分。

在本课中,您学习了如何使用引导式开发添加新的筛选字段。

注意

  • 您可以在 GitHub 上找到本练习的解决方案。

  • 解决方案分支是 solution/add-semantic-fields-to-filterbar 。

  • 您可以在 GitHub 上找到该分支与上一个分支直接比较的链接。