我想修改cds视图中的元素,以便更改它的显示方式。我尝试使用虚拟元素,如果我从一个单独的元素(存储原始数据)中获取数据并将其放入一个新的虚拟元素中,它就可以正常工作。
但是我无法弄清楚如何修改元素本身而不在表格中显示冗余元素。 如果我尝试隐藏原始数据,则数据未正确加载。如果我尝试将原始元素设为虚拟,则会丢失它自己的数据。
达到我想要的正确方法是什么?
答案 0 :(得分:0)
我刚刚对SmartTable
上的原始专栏进行了自己的测试。下面是我的测试演示。
要排除原始列在“表格设置”对话框的“列”标签中显示,有一个annotation sap:visible = false
。
重新定义mpc_ext的Define
方法:
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'
).