2012-08-22 48 views
1

任何人都有一個建議來實現XPages ViewPanel中的@Command([ViewShowOnlyUnread])?只顯示未讀文檔當前視圖?

可能實現「下一個未讀」和「Previus未讀」功能?

+0

對於顯示未讀文件我用dojo.jquery() ------------------- dojo.query( 「xspDataTable TR」)。的forEach (函數(節點,索引,ARR){ 如果(node.className.indexOf( 「xspDataTableRowUnread」)== - 1){ node.className + = 「lotusHidden」 } 的console.log(node.className) } ); ------------------- 但是沒有關於下一個未讀和預覽未讀的功能 –

回答

4

代替視圖面板結合到標準視圖的數據源,嘗試其值屬性設置爲以下表達式:然後

importPackage(com.ibm.xsp.model.domino); 
var targetView = database.getView("Some View"); 
var unreadEntries = targetView.getAllUnreadEntries(); 
var unreadModel = new DominoViewEntryCollectionDataModel(unreadEntries); 
return unreadModel; 

視圖面板應該表現正是因爲它會如果它被綁定到真正的數據源,但只顯示未讀條目。蒂姆

+0

呃非常好點蒂姆,但是......我怎樣才能插入你的代碼,以便當我點擊按鈕時可以通過數據交換? Tnx you very much –

+0

我在靜態模式下試過你的代碼,但生成這個錯誤: 執行JavaScript計算表達式時出錯 腳本解釋器錯誤,行= 5,col = 8:找不到java公共構造函數'com.ibm.xsp .model.domino.DominoViewEntryCollectionDataModel()' –

+0

我改變了最後一行return(unreadModel); 但在我看來,似乎沒有工作你的解決方案... VAR變量不通過正確的類,並出錯... 我不知道 –

1

優秀的答案..

下面是其他版本的重複控制 - 如果你設置數據和值屬性,查看面板,像下面

<xp:repeat id="repeatUnreadEntries" var="viewEntry" indexVar="index" rows="30"> 
    <xp:this.value><![CDATA[#{javascript: return database.getView('viewName').getAllUnreadEntries()}]]></xp:this.value> 
    <xp:this.facets> 
     <xp:panel id="repeatHeader" xp:key="header"> 
      <xp:text disableTheme="true" escape="false"> 
       <xp:this.value> 
        <![CDATA[<TABLE><THEAD><TH>Cell1</TH><TH>Cell2</TH></THEAD><TBODY>]]> 
       </xp:this.value> 
      </xp:text> 
     </xp:panel> 
     <xp:panel id="repeatFooter" xp:key="footer"> 
      <xp:text disableTheme="true" escape="false"> 
       <xp:this.value><![CDATA[</TBODY></TABLE>]]></xp:this.value> 
      </xp:text> 
     </xp:panel> 
    </xp:this.facets> 
    <TR> 
     <xp:repeat var="entryColVal" indexVar="colIndex" value="#{javascript:viewEntry.getColumnValues()}"> 
      <TD> 
       <xp:text value="#{entryColVal}" /> 
      </TD> 
     </xp:repeat> 
    </TR> 
</xp:repeat> 
0

由Tim提供的代碼工作。

<xp:viewPanel rows="30" id="viewPanel1"> 
    <xp:this.facets> 
     <xp:pager partialRefresh="true" layout="Previous Group Next" xp:key="headerPager" id="pager1"></xp:pager> 
    </xp:this.facets> 
    <xp:this.data> 
     <xp:dominoView var="view1" viewName="vwSrc"></xp:dominoView> 
    </xp:this.data> 
    <xp:this.value><![CDATA[#{javascript:importPackage(com.ibm.xsp.model.domino); 
var targetView = database.getView("vwSrc"); 
var unreadEntries = targetView.getAllUnreadEntries(); 
var unreadModel = new DominoViewEntryCollectionDataModel(unreadEntries); 
return unreadModel();}]]></xp:this.value> 
     <xp:viewColumn columnName="col1" id="viewColumn1"> 
      <xp:viewColumnHeader value="Column1" id="viewColumnHeader1"></xp:viewColumnHeader> 
     </xp:viewColumn> 
</xp:viewPanel> 
+0

我不知道爲什麼..但在我的場景,如果我剪切和粘貼代碼...我看到vwSrc完成所有條目... 我使用8.5.3FP2服務器和設計器.... –

+0

您是否修改了數據屬性和值屬性中的視圖名稱??。除此之外,我沒有看到任何問題... –

+0

是的....數據屬性中的名稱和value屬性是相同的...您是否嘗試過代碼,並且在您的方案中工作正常? –