在RAP开发中,当使用ODATA V2版本开发时,默认生成的LIST中的选择是单先功能,不能进行多行选择,如需要多选,得在VSCODE中设置manifest.json:tableSettings multiSelect 属性设置为 true,如下图,但此时对选择的行进行ACTION功能操作时,发现在代码中触发类方法也是”单行”循环调用的(传入参数KEYS里每次中会有一行数据),而对于一些需要集中一起处理的数据(比如选择多行一起创建采购,一起创建收货等)时,就出现了问题,
注:
- 如果使用 V2 服务,则列表报告将始终显示单选选项(单选按钮)如果使用
- V4 服务,则列表报告将始终显示多选选项(复选框)

所以在对ODATA V2版本开发CDS Fiori Elements的多选择功能时,需要注意:
1.在behavior中定义ACTION :action create_po result [1] $self;
2.在CDS注释中增加按钮定义时增加:invocationGrouping: #CHANGE_SET
@UI.lineItem:[
{ type: #FOR_ACTION, dataAction: ‘create_po’, label: ‘创建采购订单’, position: 10 ,invocationGrouping: #CHANGE_SET},
{ type: #FOR_ACTION, dataAction: ‘acceptTravel’, label: ‘审批’, position: 20 },
{ type: #FOR_ACTION, dataAction: ‘rejectTravel’, label: ‘拒绝审批’, criticality:’line_status’, position:30 }
]
3.在VSCODE中设置manifest.json:tableSettings multiSelect 属性设置为 true
这时在behavior中生成的类方法只会调用一次,并且发现传入参数KEYS有选择中的所有行的数据,
以上是ODATA V2版本的方法,如RAP开发生成的是V4版本,生成的FIORI默认为复选框,不存在上面的问题,可直接使用。