我可以过滤Xpages搜索栏吗
我得到了一个我没有开发的XPages项目。该项目有一个OneUILayout,其中包含一个搜索栏“facet”。是否可以将过滤器编码到搜索栏方面,以便忽略具有特定值字段的检索记录。我对XPages几乎没有经验。搜索结果被输出到OneUI_searchpage.xsp,其中一个编辑框显示搜索字符串,然后一个动态视图面板显示检索到的记录。我在下面附上了这两个项目的源代码。多谢各位我可以过滤Xpages搜索栏吗,xpages,Xpages,我得到了一个我没有开发的XPages项目。该项目有一个OneUILayout,其中包含一个搜索栏“facet”。是否可以将过滤器编码到搜索栏方面,以便忽略具有特定值字段的检索记录。我对XPages几乎没有经验。搜索结果被输出到OneUI_searchpage.xsp,其中一个编辑框显示搜索字符串,然后一个动态视图面板显示检索到的记录。我在下面附上了这两个项目的源代码。多谢各位 <xp:label value="Search String:" id="label1"></xp:l
<xp:label value="Search String:" id="label1"></xp:label>
<xp:inputText id="inputText1" value="#{param.search}"></xp:inputText>
<xp:panel id="maincontentpanel">
<xe:dynamicViewPanel rows="30" id="dynamicViewPanel1"
width="100%">
<xe:this.data>
<xp:dominoView viewName="ContractsFlatByYear"
var="view">
<xp:this.search><![CDATA[#{javascript:return
param.search;}]]></xp:this.search>
</xp:dominoView>
</xe:this.data>
</xe:dynamicViewPanel>
在咨询了下面的stwissel之后,我修改了应用程序,在搜索结果xpage上有一个复选框,默认选中该复选框,并为相同的输出创建了一个附加视图。一个视图用于显示已取消的合同,另一个视图用于忽略已取消的合同。相关的Xpage部分如下所示
<xp:checkBox text="Omit Cancelled Contracts"
id="OmitCancelled" defaultChecked="true" checkedValue="True"
uncheckedValue="False" style="padding-left:5.0em" value="#
{viewScope.viewSel}">
<xp:eventHandler event="onchange" submit="true" refreshMode="partial"
refreshId="dynamicViewPanel1"></xp:eventHandler>
</xp:checkBox>
<xp:panel id="maincontentpanel">
<xe:dynamicViewPanel rows="30" id="dynamicViewPanel1"
width="100%" partialRefresh="true">
<xe:this.data>
<xp:dominoView var="view">
<xp:this.viewName>
<![CDATA[#{javascript:var cancelledYesNo = viewScope.viewSel
= getComponent("OmitCancelled").getValue();
if(cancelledYesNo == "True"){
viewName = "ContractsFlatByYear"}
else {
viewName = "ContractsFlatByYearandCancelled"}}]]>
</xp:this.viewName>
<xp:this.search><![CDATA[#{javascript:return param.search;}]]
></xp:this.search>
</xp:dominoView>
</xe:this.data>
</xe:dynamicViewPanel>
这似乎是可行的,但我有一个复选框onChange event在dynamicviewpanel上应用部分刷新,但只有在我单击dynamicviewpanel本身时才会刷新。搜索栏方面仅捕获您要搜索的内容,并将其发送到指定的XPages进行处理 您有两种选择:
- 更改facet以将附加条件发送到搜索页面
- 更改搜索页面(查询发布到的页面)中的搜索函数以过滤该页面(如果是静态的)
&合同状态“已取消”
。您需要首先检查该视图是否也用于显示已取消的合同。如果是这种情况,复制视图(例如在名称后面添加活动视图)并在那里进行更改
更新2
代码不返回值,也不需要访问组件
<xp:this.viewName>
<![CDATA[#{javascript:return (viewScope.viewSel=="True") ? "ContractsFlatByYear" : "ContractsFlatByYearandCancelled";}]]>
</xp:this.viewName>
让我们知道进展如何非常感谢您的回复。所以“方面”不能被改变,对吗?我会看看你的两个选择,看看我能做些什么。基本上,这些记录是带有conContractStatus字段的合同,我想省略conContractStatus=cancelled的记录。您可以更改方面的内容。但你的情况实际上可能要简单得多。检查执行搜索的代码:在后一种情况下可以是db.ftsearch或view.ftsearch,只需更改视图选择公式,在前一种情况下切换到视图搜索即可。顺便说一句,若你们发布了一个代码示例,那个么答案就并没有那个么多猜测了,我已经为搜索输出页面添加了一些源代码。仍然查找可能比您预期的更快修复我假设这与javascript有关:return param.search部分。