避免在xpages inputText中使用默认值0

时间:2013-01-13 21:56:24

标签: dojo xpages

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

以下是代码:

<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>

由于

2 个答案:

答案 0 :(得分:1)

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

对于读取模式,您可能需要在计算字段中自行格式化。

答案 1 :(得分:0)

我认为这种情况的最佳选择是拥有一个单独的编辑和读取视图控件,因为Panu已经注意到了。

创建2个控件。

  1. 一个简单的,它将在value属性中包含一个表达式,它将生成所需的文本格式。例如:
    1. 将在编辑模式下使用的第二个控件。这可以是一个例子