2015-04-02 58 views
1

我有一个x页面,其中包含一个名为dynamicViewPanel1的动态视图面板,该面板根据取消记录视图和未取消记录之间的单选按钮组选择进行更改。该页面包括一个寻呼机前进到下一页等。这一切工作正常。但是,我想要的是当通过单选按钮更改视图时,使寻呼机返回第一页。我已经尝试了下面的代码,因为它可以在互联网上找到。基本上,如果用户位于“已取消”视图的第2页上,然后单击单选按钮将鼠标指向“未取消”视图,则会打开第2页上的“未取消”视图,并且不会返回到第1页。但为什么下面的代码不工作?如何让页面返回到第一页单击事件

我也尝试 “GotoPage记述(0)” 而不是 “goToFirstPage()我还试图改变getComponent。(” conflictPager “),以getComponent(” dynamicViewPanel1" )

编辑:我已包括更多的澄清网页代码中的btnRefresh是在电台组事件激活一个隐藏按钮,以确保该页面刷新。

<xp:panel> 
    <xp:label value="This page provides options to view records that are 
    cancelled or NOT cancelled, i.e. Open or Completed" 
    id="label5" style="font-weight:bold"> 
</xp:label> 
<xp:br></xp:br> 
<xp:br></xp:br> 
<xp:radioGroup id="rgDuplicates" defaultValue="0"> 
    <xp:selectItem itemLabel="Not Cancelled" itemValue="0"> 
    </xp:selectItem> 
    <xp:selectItem itemLabel="Cancelled" itemValue="1"> 
    </xp:selectItem> 
    <xp:eventHandler event="onclick" submit="false"> 
    <xp:this.script><![CDATA[document.getElementById("# 
     {id:btnRefresh}").click()]]></xp:this.script> 
    </xp:eventHandler> 
    <xp:eventHandler event="onclick" submit="true" refreshMode="complete"> 
    <xp:this.action><![CDATA[#{javascript:getComponent 
     ("dynamicViewPanel1").gotoFirstPage()}]]></xp:this.action> 
    </xp:eventHandler></xp:radioGroup> 
    <xp:button value="Refresh" id="btnRefresh" 
    style="display:none"> 
    <xp:eventHandler event="onclick" submit="true" 
     refreshMode="complete"> 
    </xp:eventHandler> 
    </xp:button> 
    <xp:panel id="maincontentpanel"> 
    <xe:dynamicViewPanel rows="30" id="dynamicViewPanel1" 
     width="100%" partialRefresh="true" showCheckbox="true"> 
     <xe:this.data> 
     <xp:dominoView var="view"> 
     <xp:this.viewName> 
     <![CDATA[#{javascript:if(getComponent("rgDuplicates").getValue 
      () == "0"){ 
      viewName = "NotCancelled" 
      } else { 
      viewName = "Cancelled" 
     }}]]> 
     </xp:this.viewName> 
    </xp:dominoView> 
    </xe:this.data> 
    </xe:dynamicViewPanel> 
    <xp:br></xp:br> 
    <xp:br></xp:br> 
    <xp:button value="Delete" id="delete"> 
    <xp:eventHandler event="onclick" submit="true" 
     refreshMode="complete"> 
     <xp:this.action> 
     <xp:actionGroup> 
      <xp:confirm message="Are you sure?"> 
      </xp:confirm> 
      <![CDATA[#{javascript:var viewPanel=getComponent 
       ("dynamicViewPanel1"); 
       var docIDArray=viewPanel.getSelectedIds(); 
       for(i=0; i < docIDArray.length; i++){ 
       var docId=docIDArray[i]; 
       var doc=database.getDocumentByID(docId); 
       doc.remove(true); 
       }}]]> 
      </xp:actionGroup> 
     </xp:this.action> 
     </xp:eventHandler> 
    </xp:button> 
    <xp:pager partialRefresh="true" 
     layout="Previous Group Next" xp:key="footerPager"  
     id="conflictPager" for="dynamicViewPanel1"> 
</xp:pager> 
</xp:panel> 
</xp:panel> 

回答

1

我得到它的工作使用

getComponent("dynamicViewPanel1").gotoFirstPage() 

这里是完整的代码

<?xml version="1.0" encoding="UTF-8"?> 
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex"> 
    <xp:radioGroup id="rgDuplicates" defaultValue="0"> 
     <xp:selectItem itemLabel="Not Cancelled" itemValue="0"> 
     </xp:selectItem> 
     <xp:selectItem itemLabel="Cancelled" itemValue="1"> 
     </xp:selectItem> 
     <xp:eventHandler event="onclick" submit="true" refreshMode="complete"> 
      <xp:this.action><![CDATA[#{javascript:getComponent("dynamicViewPanel1").gotoFirstPage();}]]></xp:this.action> 
     </xp:eventHandler> 
    </xp:radioGroup> 
    <xe:dynamicViewPanel id="dynamicViewPanel1" rows="2"> 
     <xe:this.data> 
      <xp:dominoView var="view1"> 
       <xp:this.viewName><![CDATA[#{javascript:var c = getComponent("rgDuplicates").getValue() 
if(c=="1"){ 
    return "Start2" 
}else{ 
    return "start" 
} 
}]]></xp:this.viewName> 
      </xp:dominoView> 
     </xe:this.data> 
    </xe:dynamicViewPanel> 
    <xp:pager layout="Previous Group Next" partialRefresh="true" id="pager1" for="dynamicViewPanel1"></xp:pager> 
</xp:view> 
+0

感谢您的回应,但这并没有奏效。我编辑了问题和代码来澄清。基本上我的代码的作品除了如果用户在第2页的“取消”视图,然后点击“未取消”单选按钮,而不是在第一页上打开“未取消”视图,它会打开第2页 – AJF 2015-04-02 14:12:49

+0

我的代码工程很好,你的代码遇到了什么问题? – 2015-04-02 14:17:47

+0

视图中的数据根本没有显示。当我试过你的时候,所有显示的是两个空的但是高亮的行在收音机组控制下 – AJF 2015-04-02 14:27:51

相关问题