Изменить элемент в представлении CD

Я хочу изменить элемент в представлении cds, чтобы изменить способ его отображения. Я попытался использовать виртуальные элементы, и это прекрасно работает, если я беру данные из отдельного элемента (сохраняя исходные данные) и помещаю их в новый виртуальный элемент.

Однако я не могу понять, как изменить сам элемент, не отображая лишний элемент в моей таблице. Если я пытаюсь скрыть оригинал, данные загружаются неправильно. Если я пытаюсь сделать исходный элемент виртуальным, он теряет свои собственные данные.

Как правильно добиться того, чего я хочу?

1 ответ

Я только что провел собственное тестирование относительно того, как исключить исходную колонку в 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'
).
Другие вопросы по тегам