我想修改 cds 视图中的元素以更改它的显示方式。我尝试使用虚拟元素,如果我从单独的元素(存储原始数据)中获取数据并将其放入新的虚拟元素中,它工作正常。
但是,我无法弄清楚如何修改元素本身而不在表中显示多余的元素。如果我尝试隐藏原始数据,则数据未正确加载。如果我尝试使原始元素虚拟化,它会丢失它自己的数据。
实现我想要的正确方法是什么?
我刚刚对如何排除您在SmartTable
. 下面是我的测试演示。
要在表格设置对话框的“列”选项卡中排除您的原始列,有一个注释 sap:visible = false
。
Define
重新定义你的 mpc_ext的方法:
data:
lo_entity_type type ref to /iwbep/if_mgw_odata_entity_typ,
lo_property type ref to /iwbep/if_mgw_odata_property,
lo_annotation type ref to /iwbep/if_mgw_odata_annotation.
super->define( ).
lo_entity_type = model->get_entity_type( 'YOUR_ENTITY_TYPE' ).
lo_property = lo_entity_type->get_property( 'YOUR_ORIGINAL_COLUMN' ) .
lo_annotation = lo_property->/iwbep/if_mgw_odata_annotatabl~create_annotation( /iwbep/if_mgw_med_odata_types=>gc_sap_namespace ).
lo_annotation->add(
iv_key = 'visible'
iv_value = 'false'
).