如何在XML视图中从SAPUI5应用程序的字符串中删除前导零?

如何在XML视图中从SAPUI5应用程序的字符串中删除前导零?,sapui5,Sapui5,我在SAPDB中有一个整数,但由于某些原因,它必须存储为数字,而数字值在SAPDB中存储为字符串 因此,OData服务返回0000000001,而不是1 因此,问题是如何删除XML视图中的前导零。问题是,当我使用XML视图时,我不能使用Javascript进行格式化 我发现的唯一解决方案是使用如下代码: <Text text="{path:'ZId', type:'sap.ui.model.odata.type.ODataType', oConstraints:{isDigitSequen

我在SAPDB中有一个整数,但由于某些原因,它必须存储为数字,而数字值在SAPDB中存储为字符串

因此,OData服务返回
0000000001
,而不是
1

因此,问题是如何删除XML视图中的前导零。问题是,当我使用XML视图时,我不能使用Javascript进行格式化

我发现的唯一解决方案是使用如下代码:

<Text text="{path:'ZId', type:'sap.ui.model.odata.type.ODataType', oConstraints:{isDigitSequence: true}}" />

但我不知道为什么它没有删除前导零,尽管它在引用中已经说过:

如果为true,则将该值作为数字序列处理;格式化时,从值中删除前导零;解析时,使用前导零(如果给定maxLength约束)增强值;或从值中删除前导零(如果未给定maxLength约束);从1.35.0开始支持此约束。要使此类型的行为与ABAP类型NUMC相同,请将oConstraints.isDigitSequence=true与oConstraints.maxLength一起使用。

我在以下链接中找到了一些相关数据:


请尝试以下代码来引导零:

<ObjectNumber number="{= parseFloat(${ZId}) }"/>


您既没有使用正确的类型实现,也没有使用正确的绑定语法来设置约束。请检查:



完美,它可以工作。有趣的是,我们可以在XML视图中调用JS函数。但美元的作用是什么?您能解释一下它的作用吗?提供的解决方案使用表达式绑定。(). 虽然这是一个很好的特性,但在所描述的情况下滥用它是没有意义的。因此,$提供了路径机制。“若要将包含右大括号的路径嵌入表达式绑定,请使用复杂的绑定语法:${path:'…'}。例如:“{:=${path:'target>extensions/[${name}==\'semantics\']]/value'}===='email'}”。”正确的解决方案是将字符串类型的约束设置为“isDigitSequence:true”正如下一个答案。我没有水晶球,你也没有提供任何细节。但是,类型是预期的和经过验证的解决方案。但您也可以使用变通方法,具体取决于您。老实说,后端没有任何变化,它始终返回字符串,但我认为SAPUI5运行您在某些特殊时刻使用的库,可能异步加载数据会导致此问题。谢谢你的回复。我用的图书馆?这是一种内置功能,旨在用于您的用例中,并被成千上万的应用程序使用。
<Text text="{= parseFloat(${ZId}) }"/>
<Text text="{
    path : 'ZId', 
    type : 'sap.ui.model.odata.type.String', 
    constraints: { 
         isDigitSequence : true,
         maxLength : 10
    }
}"/>