2016-09-28 19 views
0

我在xpage中有一個視圖。該視圖將顯示相關信息取決於用戶登錄。在我以前的post,感謝有用的回答和評論,我能夠做到這一點。使用按類別名稱篩選時,列標題無法對列進行排序?

但是,我注意到,單擊列標題時視圖無法排序。在屬性中,我查看列標題,我看到排序列在複選框中打勾。

我不知道爲什麼視圖列標題無法排序,我猜按類別名稱篩選會影響排序功能。這是因爲當我按類別名稱刪除過濾器中的代碼時,我可以單擊列標題進行排序。但是當我通過類別名稱添加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

工程與設計。當您過濾分類視圖時,不會進行排序。您可以使用客戶端代碼對 – stwissel

+0

@stwissel進行排序,感謝您的評論。我認爲我必須使用客戶端代碼才能使視圖欄哈德能夠點擊時進行排序。 – Learner

+0

對不起,我可以提供一個關於客戶端代碼的問題嗎?在設計器中,我單擊視圖列標題,在屬性選項卡中,我看到排序列附近有一個菱形符號。我點擊菱形符號並選擇計算值。然後出現一個腳本編輯器,我意識到語言是JavaScript(服務器端),我點擊組合框,我只找到JavaScript(服務器端),表達式語言(EL)和自定義選擇。 – Learner

回答

1

你可能只想溝視圖控制和使用重複和存儲數據的Java對象。然後你可以對任何列進行排序。我在一個研討會我做這個覆蓋,看https://www.youtube.com/watch?v=Ln-meA0WXaw&feature=youtu.be

該示例數據庫是在http://www.tlcc.com/mwlug

霍華德

+0

感謝您的回答。我可以問一個問題嗎?那麼你是說我應該在視圖中放置java代碼才能使列標題能夠排序?如果是這樣,我可以在哪裏編寫java代碼? – Learner

+0

在Designer中,我單擊Window,選擇Open Perspective,然後選擇Java。此時,我注意到Designer的界面略有不同。我可以看到Package Explorer和Hierachy。在包資源管理器中,有各種有意義的文件夾,例如本地,AppProperties,代碼等。我注意到有一個名爲Xpages的文件夾名稱。我點擊它,它似乎顯示了我在應用程序中的所有xsp文件。我打開位於那裏的視圖的xsp文件。我沒有看到任何可以編寫java代碼的地方。我錯過了編寫java代碼的地方嗎? – Learner

+0

也許最好的,如果你看我的網絡研討會,看看示例數據庫。對於Java,我的意思是一個配置爲託管bean的Java代碼元素。重複控制綁定到該bean上的一個方法。該XPage上的搜索/排序標準也綁定到bean,因此,當呈現repeat時,該方法將返回按用戶規範排序的數據集。 – Howard