代码之家  ›  专栏  ›  技术社区  ›  Florin M.

xpages计算字段的默认值

  •  1
  • Florin M.  · 技术社区  · 11 年前

    computedField绑定到数据源字段:

    <xp:text escape="true" id="computedField1" value="#{Contr.txt_nrcontractcv}">
        <xp:this.converter>
            <xp:convertNumber type="number"></xp:convertNumber>
        </xp:this.converter>
    </xp:text>
    

    但是,我希望有一个默认值,如下所示:

    NumberValue := @Subset(@DbColumn ("NOTES":"NOCACHE";"";"vwNrRegistru";1); -1);
    @If(@Elements(NumberValue) < 1;10001;NumberValue + 1) 
    

    我怎样才能做到这一点?

    2 回复  |  直到 11 年前
        1
  •  3
  •   Serdar Basegmez    11 年前

    计算字段是仅显示的组件。它不会将任何值设置回数据绑定。这就是为什么它没有默认值。相反,您可以将值设置为SSJS:

    if(Contr.hasItem("txt_nrcontractcv")) {
      return Contr.getItemValueInteger("txt_nrcontractcv");
    } else {
      return yourDefaultValue;
    }
    
        2
  •  0
  •   Paul Stephen Withers    11 年前

    Serdar是正确的,ComputedField不应该被认为是传统Notes中计算类型的字段。将其视为计算文本。

    如果希望使值不可编辑,但希望更改后端文档中的值,则有两个选项。

    1. 仍然使用Computed Field控件,但独立更新文档。
    2. 使用“输入文本”控件,设置默认值并设置disabled=“true”。