Пользовательский столбец, использующий не отображаемое поле (но доступный в CDS) - PullRequest
0 голосов
/ 04 февраля 2020

Я создал отчет со списком, который расширил, добавив несколько пользовательских столбцов. Проблема, с которой я сталкиваюсь, заключается в том, что мои пользовательские столбцы работают только тогда, когда поле CDS за ним (связывание) отображается в стандартных столбцах.

Т.е.

<Column id="ExtensionWizard::Attachments" xmlns="sap.ui.table" width="3em">
...
  <Button icon="{= ${dmsDocumentCount} === 0 ? 'sap-icon://warning' : 'sap-icon://attachment' }" 
     xmlns="sap.m" press="onDisplayAttachments"/>
...
</Column>

Отображает это:

enter image description here

И только если я отображаю столбец dmsDocumentCount, я получаю желаемый вывод:

enter image description here

Я вижу, что это происходит потому, что у службы oData нет запроса на возвращение поля dmsDocumentCount.

Таким образом, ваш ответ может go в обе стороны:

Как заставить это поле запрашивать OData. Помните, я расширяю список отчетов. Как добиться результата (или подобного). Большое спасибо за ваши ответы

1 Ответ

0 голосов
/ 05 февраля 2020

В аннотацию UI.LineItem можно добавить термин аннотации UI.Hidden, например

<Record Type="UI.DataField">
    <PropertyValue Property="Value" Path="dmsDocumentCount"/>
    <Annotation Term="UI.Hidden" Bool="true"/>
</Record>

Поле будет запрошено, но не показано в таблице.

...