0

我想向现有 xPage 添加一个字段,并且需要运行一些 xPage 基础知识以检查它们的有效性。

我做了以下事情:

  • 为了确保我的开发和生产站点正常工作,将计算文档绑定到的表单(因为数据源位于 diff db 中)。
  • 我的新字段名为“NewField”,我使用了简单的数据绑定,选择了 document1(与我文档中的其他字段相同),并输入了新字段名称(不能从下拉菜单中选择作为文档计算)。
  • 我还在实际的笔记文档上创建了该字段,但是我认为我不必这样做?此外,它在计算的子表单上,所以不确定这是否相关?这是现有注释表单的 xpage 版本 - 客户端和 Web 访问都适用于该应用程序。
  • 我认为如果缺少“绑定到”中指定的字段,它会创建它,但是即使在注释表单上,它仍然不存储该值。

出了什么问题:

  • 该字段是在文档上创建的,但未填充该值。针对 notes 文档存储的值是一个空字符串。
  • 这里没有什么复杂的,没有做任何时髦的事情,但值没有映射?
  • 其余字段(在我创建初始文档时创建)已正确映射。

有什么建议么?这是向现有 xPage 添加字段的新手错误吗?

一种

根据要求,这里是数据绑定和一个有效的字段的代码,一个无效的代码。


这是我定义document1的初始代码。它确实调用了保存后的代理,但是该代理对未分配的字段值不做任何事情。

<xp:this.data>
 <xp:dominoDocument var="document1" action="openDocument">
  <xp:this.databaseName><![CDATA[#{javascript:var sname = ("","test\\testdb.nsf"); 
    return sname;}]]>
  </xp:this.databaseName>
  <xp:this.formName><![CDATA[#{javascript:return "MainForm"}]]>
  </xp:this.formName>
 <xp:this.postSaveDocument>
  <xp:executeScript>
   <xp:this.script><![CDATA[#{javascript:var sname = @Name([CN]",@Subset(@DbName(),1));
      var dbname = "test/testdb.nsf";
      var dbTest:NotesDatabase = session.getDatabase(sname, dbname);
      if (dbTest.isOpen()){
        ag = dbTest.getAgent("UpdateDoc"); 
        noteid = document1.getDocument().getNoteID(); 
        ag.run(noteid); 
          } }]]></xp:this.script>
   </xp:executeScript>
  </xp:this.postSaveDocument></xp:dominoDocument>
</xp:this.data>

然后这里是无效的字段分配代码。

<xp:inputText value="#{document1.NewField}"
  id="inputText25" disableClientSideValidation="true" styleClass="entryboxes">
</xp:inputText>

然后是有效的字段分配代码。

<xp:inputText value="#{document1.CLRef}"
  id="inputText4" rendered="#{javascript:@IsNewDoc()}" styleClass="entryboxes">
</xp:inputText>

认为这是相当标准的。


更新 8/10

所以 - 我已经确定只有当我有条件隐藏单元格时才会发生这种情况。这有一个基本公式,根据另一个字段的值要求该行可见。显示/不显示功能正在工作(代码见下文),但是,由于我不知道的原因,它没有保存值。

var hw = getComponent("module");
var hwv = hw2.getSubmittedValue();

hwv == "Product1" || hwv == "Product2" || hw2v == "Product3"

如果我创建任何其他未隐藏的字段(并组成字段名称),它会正确映射到文档(正如我认为的那样)。好消息是我已经成功地复制了一个新表格,所以我似乎想有条件地隐藏一行,而不是我的表格有问题?有任何想法吗?

4

1 回答 1

0

好的 - 当单元格在某些条件下隐藏时,我仍然遇到字段映射问题。因此,我最终使单元格可见,然后仅在某些情况下才强制使用该字段。因此,问题不是答案,而是使用的解决方法。

于 2012-10-22T01:12:20.387 回答