小编And*_*ack的帖子

需要语法来在页面上的另一个组件上调用刷新

我有一个相当简单和常见的用例.一个面板,其中包含重复控件.重复控件从按键查看视图中获取其内容.下面的重复控制是另一个小组.此面板具有绑定到新notesdocument的数据.面板上有几个字段用于新文档和一个提交按钮.

这一切都有效,但是在提交之后(大概是在"postSaveDocument()"事件中)我想回调重复控件并让它重新执行查找并刷新其内容.

我希望从句法上理解,如何从文档的其他地方引用重复控件及其属性和方法 - 其次(虽然我可以在第一部分找到后查看)刷新()方法将是重复控制的方法.

理想情况下,我认为它类似于:xp:page.repeatcontrolname.refresh() - 虽然我知道这是不对的.

我敢肯定,一旦我看到一个例子,它将适用于无数其他事情.

更新:

我发现重复的元素实际上是令人耳目一新的,但我没有看到添加到列表中的新条目.最终的原因是,为了在重复列表中添加另一个条目,我需要一个新的"控件" - 但是我检查了那个"在页面创建时创建控件"的框(在重复控件上).它阻止我的XPage为新文档创建另一个条目!

xpages

5
推荐指数
2
解决办法
3453
查看次数

在另一个上更改编辑模式时,验证器绑定到一个数据源

我有一系列文件的重复控制,并且在同一个面板下面,但在重复控制之外,我有另一个新的绑定文档.新文档包含空白字段,但字段具有验证,在提交新文档时需要内容.

这样可行.

我在重复控件的重复输入面板上添加了一个"编辑"按钮.动作是弹出该入口编辑模式.

这是有效的 - 我可以确认重复上的各个行可以独立地在编辑模式之间切换,并且当切换时,下面的新文档不会切换.它是孤立的.

然而,

如果我在新文档上有验证代码,它会在新文档上触发(未通过验证),即使我正在切换重复中的其他绑定文档之一.

我试图确保按钮设置为部分刷新,并且仅设置为刷新重复内的单个输入面板,并且我已经尝试确保按钮仅绑定到正确的文档.

它似乎只是有争议的验证代码,因为如果我禁用它,所有切换工作正常,新文档区域不会在其目标数据库中创建一个空的新文档.

显然我错过了一些东西.有什么想法吗?

如果你想要代码,我发布了一个剥离,清理和注释版本,尽管我可以在不删除相关位的情况下完成:

<xp:repeat repeatControls="false" var="devices" id="ExistingDevicesList" rendered="true">
  <xp:this.value><![CDATA[#{javascript: /* Some script that populates the repeat */ }]]>
  </xp:this.value>


  <xp:panel id="IndividualDevice">    <!-- ************ start of the individual device panel -->
    <xp:this.data>
      <xp:dominoDocument var="devDocument"
        databaseName=" xxxxx.nsf" action="openDocument"
        formName="device"
        documentId="#{javascript:devices.getDocument().getUniversalID();}"
        ignoreRequestParams="true" />
    </xp:this.data>


<!-- ******************* The Edit Button ****************** -->

          <xp:button value="Edit" id="button1">
            <xp:this.binding><![CDATA[#{javascript:
    var IndividualDevice:com.ibm.xsp.component.UIPanelEx = getComponent("IndividualDevice");
    IndividualDevice}]]>
            </xp:this.binding>

            <xp:eventHandler event="onclick"
              submit="true" refreshMode="partial"
              refreshId="IndividualDevice">
              <xp:this.action>
                <xp:changeDocumentMode mode="edit" var="devDocument"> 
                </xp:changeDocumentMode>
              </xp:this.action>
            </xp:eventHandler>
          </xp:button> …
Run Code Online (Sandbox Code Playgroud)

xpages

3
推荐指数
1
解决办法
981
查看次数

标签 统计

xpages ×2