我在xpage中有一个视图。视图将显示相关信息取决于用户登录。在我之前的post中,感谢有用的答案和评论,我能够做到这一点。
但是,我注意到单击列标题时视图无法排序。在Properties中,我转到View Column Header,我看到Sort列在复选框中有一个勾号。
我不确定为什么视图列标题无法排序,我猜过按类别名称过滤会影响排序功能。这是因为当我按类别名称删除过滤器中的代码时,我可以单击列标题进行排序。但是,当我按类别名称在Filter中添加添加代码时,我单击列标题,它无法排序。
所以我的问题是为什么在按类别名称使用过滤器时,视图列标题无法对列进行排序?是否有任何方法可以使查看列标题在单击时能够排序?
我想在下面发布我的代码,因为我不知道哪个部分我做错了。
<xp:viewPanel rows="30" id="viewPanel3"
pageName="/BookVenue.xsp" iewStyle="width:700.0px">
<xp:this.facets>
<xp:pager partialRefresh="true"
layout="Previous Group Next" xp:key="footerPager" id="pager1">
</xp:pager>
</xp:this.facets>
<xp:this.data>
<xp:dominoView var="view1"
viewName="UserBookedVenueInfo">
<xp:this.categoryFilter><![CDATA[# {javascript:var uName:NotesName = session.createName(session.getEffectiveUserName());
return uName.getCommon();
}]]></xp:this.categoryFilter>
</xp:dominoView>
</xp:this.data>
<xp:viewColumn columnName="Venue"
id="viewColumn7" displayAs="link">
<xp:viewColumnHeader value="Course Name"
id="viewColumnHeader7" sortable="true">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn columnName="ReturnDate"
id="viewColumn8" displayAs="link">
<xp:this.converter>
<xp:convertDateTime type="date"
dateStyle="long">
</xp:convertDateTime>
</xp:this.converter>
<xp:viewColumnHeader value="Remarks"
id="viewColumnHeader8" sortable="true">
</xp:viewColumnHeader>
</xp:viewColumn>
<xp:viewColumn columnName="Remark"
id="viewColumn9" displayAs="link">
<xp:viewColumnHeader value="Remark"
id="viewColumnHeader9" sortable="true">
</xp:viewColumnHeader>
</xp:viewColumn>
</xp:viewPanel>
请有人让我知道我的错误。非常感谢。
我已阅读以下帖子,并尝试在视图中使用该解决方案但仍无法排序。
XPages "filter by category name" for View Panel Controll random error
xpages : Filtering a View Data Source using the keys parameter(filter by category name)
答案 0 :(得分:1)
您可能只想放弃View Control并使用重复并将数据存储在Java对象中。然后,您可以对任何列进行排序。我在网络研讨会中介绍了这一点,请参阅https://www.youtube.com/watch?v=Ln-meA0WXaw&feature=youtu.be
示例数据库位于http://www.tlcc.com/mwlug
霍华德