绑定期间如何在SAPUI5中动态设置小数位数?

时间:2019-01-09 14:16:26

标签: binding sapui5

我有一个元素列表(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 :(得分:0)

从模型中获取动态编号,并将其存储在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
        })
    }   
}),