0

我有一个 xpages 编辑框控件,显示类型为数字,显示格式为货币。默认情况下,此控件显示 0。但我希望它为空。我如何做到这一点。还有另一个问题-控制在读取模式下不显示货币格式。它在编辑模式下工作正常。如何让它在读取模式下工作?

这是代码:

<xp:inputText id="ApInt" value="#{dsRacDoc.ApInt}" 
dojoType="dijit.form.CurrencyTextBox" 
valueChangeListener="#{javascript:changeRequestBean.valueChangeListener}">
    <xp:this.converter>
        <xp:convertNumber type="currency" integerOnly="true" currencySymbol="$">
        </xp:convertNumber>
    </xp:this.converter>
    <xp:this.dojoAttributes>
        <xp:dojoAttribute name="constraints" value="{fractional:false, max:999999999999999}">
        </xp:dojoAttribute>
        <xp:dojoAttribute name="currency" value="USD">
        </xp:dojoAttribute>
        <xp:dojoAttribute name="invalidMessage" value="Invalid amount. Enter whole dollar amount upto 15 digits">
        </xp:dojoAttribute>
        <xp:dojoAttribute value="15" name="maxLength">
        </xp:dojoAttribute>
    </xp:this.dojoAttributes>
</xp:inputText>

谢谢

4

2 回答 2

1

我没有尝试使用您的代码,但如果您删除integerOnly它不应再默认为 0。项目值将是空字符串。如果您将maxFractionDigits设置为 0,它应该与整数相同,但我没有尝试过。

对于读取模式,您可能需要自己在Computed Field中对其进行格式化。

于 2013-01-14T17:35:29.150 回答
0

我认为这种情况下的最佳选择是有一个单独的编辑和阅读视图控件,正如 Panu 已经注意到的那样。

创建 2 个控件。

  1. 一个简单的,它将在 value 属性中包含一个表达式,它将生成您想要的文本格式。例如:

  1. 第二个控件将在编辑模式下使用。这可以是任意的
于 2013-01-14T19:42:19.113 回答