Xpages viewPanel列在类别筛选器重置后松开排序链接

Xpages viewPanel列在类别筛选器重置后松开排序链接,xpages,lotus-domino,Xpages,Lotus Domino,我有一个定义了viewPanel控件的Xpages页面。它按类别过滤并包含一些列。其中一个是可排序的。不幸的是,在以下情况下,它会失去排序功能: 打开Xpage(过滤器类别:null)-我可以单击排序列 更改过滤器类别(过滤器类别:'something')-排序不可用(这没关系,因此数据源) 将筛选器类别更改回(筛选器类别==null)-排序不可用,没有列排序链接(排序箭头可见) 我尝试了部分和完全刷新,但都不起作用。我应该怎么做才能再次启用排序 编辑 以下是示例代码: <xp:butt

我有一个定义了viewPanel控件的Xpages页面。它按类别过滤并包含一些列。其中一个是可排序的。不幸的是,在以下情况下,它会失去排序功能:

  • 打开Xpage(过滤器类别:null)-我可以单击排序列
  • 更改过滤器类别(过滤器类别:'something')-排序不可用(这没关系,因此数据源)
  • 将筛选器类别更改回(筛选器类别==null)-排序不可用,没有列排序链接(排序箭头可见) 我尝试了部分和完全刷新,但都不起作用。我应该怎么做才能再次启用排序


    编辑

    以下是示例代码:

    <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:)