1

XPages ViewPanelで@Command([ViewShowOnlyUnread])を実現する提案がありますか?

そして、「次の未読」と「前の未読」の機能を実現する可能性はありますか?

4

3 に答える 3

4

ビューパネルを標準のビューデータソースにバインドする代わりに、そのvalue属性を次の式に設定してみてください。

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

ビューパネルは、実際のデータソースにバインドされている場合とまったく同じように動作する必要がありますが、未読のエントリのみが表示されます。

于 2012-08-22T19:23:38.773 に答える
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>
于 2012-08-22T22:23:59.040 に答える
0

以下のように、ビューパネルにデータと値の属性を設定した場合にTimWorksによって提供されるコード。

<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>
于 2012-08-23T13:45:18.877 に答える