向筛选栏添加字段
学习目标
为 Date 类型的语义字段配置值帮助对话框。
列表报表顶部的筛选栏允许您使用指定参数筛选条目。您可以向筛选栏添加新字段,从而启用新的参数。例如,您可以只显示在某个特定日期开始并结束的条目。
您可以通过将 com.sap.vocabularies.UI.v1.SelectionFields 添加到您的注解文件来配置筛选栏字段。
您也可以使用 SAP Fiori 工具。您可以在两个选项之间选择:
使用引导式开发中的指南 添加和编辑筛选字段 。您将在本练习中了解此选项。
打开 Page Map 并在那里添加筛选字段。您已在单元 SAP Fiori 工具概览 (课程: 使用应用程序生成器创建第二个应用 )中介绍过这一点。
任务流程
您将首先检查更改前列表报表的外观。然后,您将使用引导式开发添加筛选字段。最后,您将检查结果。
前提条件
您已完成单元 配置列表报表和对象页面的常规功能 中的练习 更改标准 UI 文本(课程:调整标准 SAP Fiori Elements UI 文本)。或者,您可以检出其解决方案分支:solution/change-standard-ui-texts。
观看模拟并执行步骤
本练习包含一个模拟,它会带您完成下面描述的所有步骤。您可以跟随该模拟,并使用您自己的试用账户执行这些步骤。
练习:开始练习(SAP 官方交互式练习)
步骤
在列表报表中打开 Adapt Filters。您可以在弹出菜单中看到
End Date和Starting Date字段。选择 Cancel。使用引导式开发添加字段。
切换到 SAP Business Application Studio 并选择
*travel_processor > Open Guided Development*。在搜索字段中输入filter以减少显示的指南数量。选择 Add and edit filter fields 并选择 Start Guide。
从
CDS File下拉菜单中选择app/travel_processor/layouts.cds,从Service菜单中选择TravelService,从Entity菜单中选择Travel。选择 Add selection field,然后从
Property菜单中选择BeginDate。向上滚动以添加另一个字段。选择 Add selection field,然后从
Property菜单中选择EndDate。向下滚动以查看您的
*layouts.cds*文件的 CAP CDS@UI.SelectionFields注解。选择 Insert Snippet 以添加它。打开
*schema.cds*文件以查看已添加的代码。检查结果。
切换到应用预览。您可以看到已添加到筛选栏的
Starting Date和End Date字段。注意您可以在两个字段的下拉菜单中看到日历日期、像
Today或Tomorrow这样的单个日期以及日期范围。检查 CAP CDS
Date类型到 ODataEdm.Date类型的映射。字段BeginDate和EndDate的类型为Date,它是一种 CAP CDS 内置类型。您可以在*schema.cds*文件中看到每个属性的 CAP CDS 类型。CAP CDS 类型Date映射到 OData EDM 类型Edm.Date,正如您在$metadata文件中所看到的。
结果
下面您可以看到 *schema.cds* 文件中 Travel 实体的定义,以及 Travel 实体相应的 OData 表示形式。


有关 CAP CDS 类型映射到 OData 类型的其他示例,请参阅 OData 类型映射。
您已经看到,基于 Edm.Date 的字段开箱即用地在值帮助下拉菜单中以日历形式呈现。像 yesterday 和 today 这样的语义运算符在值帮助下拉菜单中默认启用,因为 @Capabilites.FilterRestrictions 注解从一开始就是您服务的一部分。
在本课中,您学习了如何使用引导式开发添加新的筛选字段。
注意
您可以在 GitHub 上找到本练习的解决方案。
解决方案分支是 solution/add-semantic-fields-to-filterbar 。
您可以在 GitHub 上找到该分支与上一个分支直接比较的链接。