开发者

Alternative solution for <fr:currency>

开发者 https://www.devze.com 2023-03-02 02:52 出处:网络
We have performance issue usingfor controls which gets number in the format of $dollars as input. In-order to over come this performance issue we usedinstead ofand implemented the following calculate

We have performance issue using for controls which gets number in the format of $dollars as input. In-order to over come this performance issue we used instead of and implemented the following calculate functionality in the bind of the control.

<xforms:bind id="Amount" 
             nodeset="instance('sample_form')/Amounts/Amount" 
             calculate="if (. !=0) 
                        then format-number(xs:double(.),'$#,##0.000') 
                        else ."/>

But the problem with the above code is, its converting the control's value into String type which leads to error in the controls which has its value dependent o开发者_运维百科n this. Kindly provide me a solution for the above problem or provide a better recommendation to handle this situation.


If you only want to show the formatted value (which I assume to be the case since you are thinking of using a calculate), then you could put that expression you have on the calculate inside an:

<xforms:output value="..."/>

If you need both input and output, and you'd like the value stored in your instance to be just the unformatted number, then I don't think there is an easy way around using <fr:currency> other than somehow reimplementing the functionality provided by <fr:currency>. If you need both input and output, then I would recommend you to investigate this further to find, and then solve, the source of the performance issue.

0

精彩评论

暂无评论...
验证码 换一张
取 消