Задать условие в свойстве таблицы XML (SAP UI5) - PullRequest
0 голосов
/ 10 октября 2018

Я бы хотел установить условие в своем шаблоне xml при настройке агрегации "rowSettings" для моего sap.ui.table.

Вот как я пытался это сделать до сих пор (основываясь на других найденных мной вопросах):

<table:Table id="changedData">
    <table:columns>
        <!-- Columns created in controller -->
    </table:columns>
    <table:rows>
        <!-- Rows created in controller -->
    </table:rows>
    <table:rowSettingsTemplate >
        <table:RowSettings highlight = "{= ${changedModel>highlight} == 'yellow' ? 'Warning' : ${changedModel} == 'green' ? 'Success' : 'None'}"/>
    </table:rowSettingsTemplate>
</table:Table>

Вот так выглядят данные для моего «changeModel»: enter image description here

Таким образом, свойство «highlight» должно информировать о необходимой подсветке.

При использовании кода, описанного выше, я получаю синтаксическую ошибку, хотя я проверял свой синтаксис 100 раз.Это ошибка:

Ожидается «}», и вместо этого он видит «=» в привязке выражения {= $ {updatedModel> highlight} == 'yellow'?'Warning': $ {changeModel} == 'зеленый'?'Success': 'None'} в позиции 29.

Что не так с моим кодом?

Пример вывода updatedData

(3) [{…}, {…}, {…}]
0:
COL01: "00000000"
COL02: "Sonja"
COL03: "Deißenböck"
COL04: "Studentin"
COL05: "33403215"
COL06: "Hochschule München"
COL07: "Teststraße 2"
COL08: "20160115"
COL09: " 120.00 € "
highlight: "yellow"
__proto__: Object
1:
COL01: "00000001"
COL02: "Leon"
COL03: "Maschine"
COL04: "Student"
COL05: "57945612"
COL06: "TUM"
COL07: "Teststraße 3"
COL08: "20160116"
COL09: " 160.00 € "
highlight: "yellow"
__proto__: Object
2:
COL01: "00000002"
COL02: "Sabine"
COL03: "Betrieb"
COL04: "Studentin"
COL05: "45613789"
COL06: "LMU"
COL07: "Teststraße 4"
COL08: "20160117"
COL09: " 200.00 € "
highlight: "yellow"
__proto__: Object

ChangedModel

{columns: Array(10), rows: Array(7)}
columns: Array(10)
0: {columnId: "COL01"}
1: {columnId: "COL02"}
2: {columnId: "COL03"}
3: {columnId: "COL04"}
4: {columnId: "COL05"}
5: {columnId: "COL06"}
6: {columnId: "COL07"}
7: {columnId: "COL08"}
8: {columnId: "COL09"}
9: {columnId: "highlight"}
length: 10
__proto__: Array(0)
rows: Array(7)
0: {COL01: "00000000", COL02: "Sonja", COL03: "Deißenböck", COL04: "Studentin", COL05: "33403215", …}
1: {COL01: "00000001", COL02: "Leon", COL03: "Maschine", COL04: "Student", COL05: "57945612", …}
2: {COL01: "00000002", COL02: "Sabine", COL03: "Betrieb", COL04: "Studentin", COL05: "45613789", …}

1 Ответ

0 голосов
/ 10 октября 2018

Сначала убедитесь, что вы установили compatVersion на ребро или ваш синтаксис привязки сложный, иначе вы не сможете использовать сложное связывание.

data-sap-ui-compatVersion="edge"
data-sap-ui-xx-bindingSyntax="complex"

Что касается вашей привязки, то вам не хватает ">выделите "ваше второе условие.

<table:RowSettings highlight = "{= ${changedModel>highlight} === 'yellow' ? 'Warning' : ${changedModel>highlight} === 'green' ? 'Success' : 'None'}"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...