Xpages viewPanel列在类别筛选器重置后松开排序链接
我有一个定义了viewPanel控件的Xpages页面。它按类别过滤并包含一些列。其中一个是可排序的。不幸的是,在以下情况下,它会失去排序功能:Xpages viewPanel列在类别筛选器重置后松开排序链接,xpages,lotus-domino,Xpages,Lotus Domino,我有一个定义了viewPanel控件的Xpages页面。它按类别过滤并包含一些列。其中一个是可排序的。不幸的是,在以下情况下,它会失去排序功能: 打开Xpage(过滤器类别:null)-我可以单击排序列 更改过滤器类别(过滤器类别:'something')-排序不可用(这没关系,因此数据源) 将筛选器类别更改回(筛选器类别==null)-排序不可用,没有列排序链接(排序箭头可见) 我尝试了部分和完全刷新,但都不起作用。我应该怎么做才能再次启用排序 编辑 以下是示例代码: <xp:butt
编辑 以下是示例代码:
<xp:button value="All companies" id="button5">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="vpDocuments">
<xp:this.action><![CDATA[#{javascript:viewScope.cat = null;}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
<xp:button value="Single Company" id="button2">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="vpDocuments">
<xp:this.action><![CDATA[#{javascript:viewScope.cat = 'abc';}]]></xp:this.action>
</xp:eventHandler>
</xp:button>
<xp:viewPanel id="vpDocuments" var="rowData"
indexVar="rowIdx">
<xp:this.data>
<xp:dominoView var="view1"
databaseName="#{javascript:computeMyDb()}" viewName="xMyView"
categoryFilter="#{javascript:viewScope.cat}"></xp:dominoView>
</xp:this.data>
<xp:viewColumn columnName="$Company" id="viewColumn1">
<xp:viewColumnHeader value="Company" id="viewColumnHeader1">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn columnName="Invoice" id="viewColumn2">
<xp:viewColumnHeader value="Invoice" id="viewColumnHeader2">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn columnName="OrderDate" id="viewColumn7"
styleClass="dateColumn">
<xp:viewColumnHeader value="Order Date" id="viewColumnHeader7"
sortable="true">
</xp:viewColumnHeader>
</xp:viewColumn>
</xp:viewPanel>
因此,最后一列是可排序的,但在清除“类别筛选”标题中的“不可单击”后,请使用
keys
属性而不是categoryFilter
属性来解决您的问题。我认为在这里显示您的viewPanel代码会很有帮助,您是否可以将其添加到您的问题中。需要尝试两件事:首先,尝试使用“keys”属性而不是“categoryFilter”。其次,也不太可能,尝试将viewScope.cat更改为sessionScope.cat,以防刷新过程中该值丢失。由于我看到了正确的文档,所以密钥传递正确。将筛选从“categoryFilter”更改为“keys”解决了该问题。非常感谢史蒂夫。太好了,我会把这变成一个答案。请接受答案,因为它解决了您的问题,thx:)