在我的Xpage中,我在页面顶部有一个搜索条件,在底部有一个视图。用户将选择一些搜索条件,然后单击搜索,我在视图上进行FT搜索。
我想避免在第一次打开xpage时加载视图,因为这需要花费很多时间。我怎么能这样做?
答案 0 :(得分:7)
使用视图控件的呈现的属性。如果搜索字段为空,则返回 false 表示渲染属性,如果填充,则返回 true 。
示例:
<xp:inputText
id="inputText1"
value="#{viewScope.search}">
</xp:inputText>
<xp:button
value="Search"
id="button1">
<xp:eventHandler
event="onclick"
submit="true"
refreshMode="partial"
refreshId="viewForSearch">
</xp:eventHandler>
</xp:button>
<xp:panel
id="viewForSearch">
<xp:viewPanel
rows="30"
id="viewPanel1"
rendered="#{javascript:viewScope.search}">
... pager ... view ... columns ...
</xp:viewPanel>
</xp:panel>
搜索字段存储在视图范围变量&#34; search&#34;中。如果它为空,则rendered="#{javascript:viewScope.search}"
返回false并且视图未呈现。只要用户输入搜索字符串并单击搜索按钮#{javascript:viewScope.search}
,就会返回true并且视图可见。
部分刷新视图控制面板,单击搜索按钮。