Как динамически установить количество десятичных знаков в SAPUI5 во время связывания? - PullRequest
0 голосов
/ 09 января 2019

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

Требование: показывать только то количество десятичных чисел, которое также доступно в службе OData.

Методы аннотации не могут быть использованы.

Я «взломал» что-то, что неправильно использует форматировщик для обновления типа привязки. Но это «взлом», и его невозможно преобразовать в представления XML. (Причина в том, что форматер будет вызываться по-другому).

Поэтому я ищу рабочее решение для представлений XML.

Следующий код не будет работать, но показывает проблему:

new sap.m.Input({
    value : {
        path : "Quantity",
        type : new sap.ui.model.type.Float({
            maxFractionDigits : "{QuantityDecimals}",
            source : {
                groupingSeparator: ",",
                decimalSeparator: ".",
                groupingEnabled: false
            }
        }, {
            minimum:0
        })
    }   
}),

maxFractionDigits : "{QuantityDecimals}" должно быть "динамическим", а не постоянным значением.

1 Ответ

0 голосов
/ 11 января 2019

Получите ваш динамический номер из вашей модели и сохраните его в переменной JS.

var nQuantityDecimals = this.getModel().getProperty("/QuantityDecimals");

new sap.m.Input({
    value : {
        path : "Quantity",
        type : new sap.ui.model.type.Float({
            maxFractionDigits : nQuantityDecimals,
            source : {
                groupingSeparator: ",",
                decimalSeparator: ".",
                groupingEnabled: false
            }
        }, {
            minimum:0
        })
    }   
}),
...