EDIT: Я обновил свою функцию! Я хочу, чтобы связать данные JSON с моей sap.ui.table, но я вроде понятия не имею, как это работаетСвязывание JSON с таблицей
Так что это мой стол:
<content>
<t:Table id="transactionUiTable"
columnHeaderVisible="true"
selectionMode="Single"
selectionBehavior="RowSelector"
enableColumnReordering="false"
enableGrouping="false"
showColumnVisibilityMenu="false"
enableSelectAll="false"
enableCustomFilter="false"
enableBusyIndicator="false"
rows="{path: '/'}"
rowSelectionChange="onTableSelectionChange">
<t:toolbar>
<Toolbar id="toolbar">
<Input width="15%" id="transactionId" value="txn_18KlBw2eZvKYlo2CdHGDlpAJ"/>
<Button text="Search Transaction" type="Emphasized" icon="sap-icon://search" press="onTransactionByTransactionId"/>
<Button text="Transactionlist" type="Unstyled" press="onTransactionList"/>
<Button text="Customer Transactionlist" type="Unstyled" press="onCustomerTransactionList"/>
<ToolbarSpacer/>
<Button icon="sap-icon://action-settings" type="Default" />
</Toolbar>
</t:toolbar>
<t:columns>
<t:Column id="id" hAlign="Center" width="10%">
<Label id="labelId" text="Transaction Id"></Label>
<t:template>
<Text text="{orderId}"/>
</t:template>
</t:Column>
<t:Column id="columnDate" hAlign="Center">
<Label id="labelDate" text="Date"></Label>
</t:Column>
<t:Column id="columnAmount" hAlign="Center">
<Label id="labelAmount" text="Amount"></Label>
</t:Column>
<t:Column id="columnCurrency" hAlign="Center">
<Label id="labelCurrency" text="Currency"></Label>
</t:Column>
<t:Column id="columnFee" hAlign="Center">
<Label id="labelFee" text="Fee"></Label>
</t:Column>
<t:Column id="columnNet" hAlign="Center">
<Label id="labelNet" text="Net"></Label>
</t:Column>
<t:Column id="columnType" hAlign="Center">
<Label id="labelType" text="Type"></Label>
</t:Column>
<t:Column id="columnStatus" hAlign="Center">
<Label id="labelStatus" text="Status"></Label>
</t:Column>
</t:columns>
</t:Table>
</content>
При нажатии на кнопку с текстом " Поиск транзакций», я хочу, чтобы позвонить с помощью GET к услуге с TransactionID, который может быть писал в поле ввода, я уже заполнил его со значением„txn_blablabla“
так что это моя функция:
onTransactionByTransactionId : function() {
this.oView = this.getView();
var query = this.oView.byId("transactionId").getValue();
var oJsonModel = new sap.ui.model.json.JSONModel();
oJsonModel.loadData("/retrieveTransacion?transactionId=" + query , {}, false);
var oData = oJsonModel.getProperty("/");
this.oView.setModel(oData);
}
так что моя переменная oData Я получил привязанную JSON, но как я могу привязать эти данные JSON к столбцам таблицы?
, например, я хочу, чтобы связать количество данных в формате JSON с колонками с идентификатором «columnAmount» ....
Спасибо помощник, который действительно помог мне с моей проблемой, большое спасибо :) – ECasio
1 больше вопросов в вашем случае вы получите данные JSON с этим форматом назад: [{JSON DATA}], в то время как в моем случае я возвращаю данные JSON Data: {JSON DATA}, кажется, что те скобки, отсутствующие в моих данных JSON, проблемы, потому что привязка не работает, мне нужно сначала преобразовать данные JSON в массив или что это моя проблема? – ECasio
[] Скобки означают, что вы имеете дело с массивом. {} является объектом и может быть частью массива. Если вы связываете агрегирование, например строки (элементы) таблицы, вам придется привязать их к массиву. Может быть, массив, который вы хотите связать, является частью этого объекта {}. {Продукты: [{id: product1}, {id: product2}]}? В этом случае вам нужно будет привязать к/Products вместо /. – jpenninkhof