使用xpages中的寻呼机控件跳转到重复控件中的搜索结果

时间:2013-07-10 18:18:49

标签: anchor xpages

我在xpages中创建了一个搜索控件,效果很好。我现在的问题是如何创建链接以打开结果。这也很好,除非结果是在xpages重复控件中。 所以我的问题是如何直接跳转到特定网站和该网站上的特定文档,例如页面站点3和第5个文档。 是否可以执行多个锚链接(打开网站,跳转到重复控件中的页面,而不是文档...)。 如果我的深层链接和我的标记链接具有相同的“问题”。

由于 阿明

重复的代码看起来像这样(我清理了一些引导程序,希望不要太多)

    <xp:dominoView var="viewSC" sortColumn="sorting"
        sortOrder="descending">
        <xp:this.viewName><![CDATA[#{javascript:if (sessionScope.level2UNID == ""){
    return "HV3101";
}else{
    return "HV3201";
}}]]></xp:this.viewName>

        <xp:this.search><![CDATA[#{javascript:var qString:String;
if (sessionScope.level2UNID != null & sessionScope.level2UNID != ""){
    qString = "(Field level2Key = \"" + sessionScope.level2UNID + "\")";
}else{
    qString = "(Field level1Key = \"" + sessionScope.level1UNID + "\")";
}
sessionScope.l3Query = qString;
return qString;}]]></xp:this.search>
    </xp:dominoView>


    <xp:panel id="contentRepeat" styleClass="content">
        <xp:repeat id="level3" rows="2" var="level3List"
            disableOutputTag="true" value="#{viewSC}" indexVar="L3X">
            <xp:panel id="repeatFrame" disableOutputTag="true">
                <xp:this.data>
                    <xp:dominoDocument var="docL3" action="openDocument"
                        documentId="#{javascript:level3List.getNoteID()}"
                        ignoreRequestParams="true">
                    </xp:dominoDocument>
                </xp:this.data>

                <xp:panel id="anchor" tagName="a">
                    <xp:this.attrs>
                        <xp:attr name="name">
                            <xp:this.value><![CDATA[#{javascript:try{
docL3.getItemValueString("UniqueID");
}catch (e){
 sessionScope.L3Err = e;
}}]]></xp:this.value>
                        </xp:attr>
                    </xp:this.attrs>
                </xp:panel>

                <xp:panel id="bsAccordion" styleClass="accordion">
                    <xp:div styleClass="accordion-group">
                        <xp:div styleClass="accordion-heading">
                            <xp:link escape="true" styleClass="accordion-toggle" id="toggleSubContent">
                                <xp:this.attrs>
                                    <xp:attr name="data-toggle" value="collapse">
                                    </xp:attr>
                                    <xp:attr name="data-parent" value="##{id:bsAccordion}">
                                    </xp:attr>
                                </xp:this.attrs>
                                <xp:this.text><![CDATA[#{javascript:try{
if(level3List != null){
    var nd:NotesDocument = level3List.getDocument();
    if(nd != null){
        if(nd.getItemValueString("dspCreated") == "1"){
            var creationDate:NotesDateTime = nd.getItemValueDateTimeArray("created")[0];
            return " " + nd.getItemValueString("title") + " (Erstellt: " + creationDate.getDateOnly() + ")";
        }else{
            return " " + nd.getItemValueString("title");
        }       
    }
}
}catch(e){
    sessionScope.errorEx = e;
}}]]></xp:this.text>
                                <xp:this.value><![CDATA[#{javascript:x$(getComponent("accordionCollapse").getClientId(facesContext))}]]></xp:this.value>
                                <i class="icon-minus"></i>
                            </xp:link>
                            <xp:link escape="true" id="link1" value="##{id:pager1}">
                                <xp:this.text><![CDATA[#{javascript:"aP" + L3X}]]></xp:this.text>
                            </xp:link>
                        </xp:div>
                        <xp:panel styleClass="accordion-body collapse in" id="accordionCollapse">
                            <xp:div styleClass="accordion-inner">
                                <xp:panel id="subRTContent" styleClass="l3Content">
                                    <xp:inputRichText id="dspLevel3" value="#{docL3.content}"
                                        readonly="true" styleClass="l3Content">
                                    </xp:inputRichText>
                                </xp:panel>
                                <xp:panel styleClass="contentFooter" id="contentSFooter">

                                        </xp:panel>
                            </xp:div>
                        </xp:panel>
                    </xp:div>
                </xp:panel>

            </xp:panel>
        </xp:repeat>
    </xp:panel>

1 个答案:

答案 0 :(得分:1)

一些可能有助于您继续前进的指示:

     
  • 重复停止分页。 extlib有一个很好的“显示更多”样本,所以不显示1-20,21-40等,而是显示你找到的记录(可能不适用于大型数据集)
  • 使用指示文档位置编号的URL参数打开搜索页面(例如498)。然后使用该参数让重复控件找出起始位置(这取决于重复配置的文档数量(默认值为30,但您不知道)。只需确保不使用传递的参数unchecked
  • 您可以将<a name="[unid]">(或id =)标记添加到重复内容,然后[直接导航](http://reference.sitepoint.com/html/a)到它们...... nsf / searchResults .xsp#UNID?moreParameters

让我们知道它是怎么回事