私は、XPageでビューデータソースとして使用しているカテゴリビューを持っています。私は選択された個人(特定の事件について)の通話履歴のみが表示されるように、データソースのcategoryFilterを設定しました。 sessionScopeに格納されるフィルタは、PersonのUniqueIDとIncidentIDを連結したものです。ルックアップビューは、その値によって分類されます。XPagesでデータソースを表示し、単一のカテゴリに限定する
フィルタリングは機能していないと思われますが、私が選択した人物に関係なくすべての通話履歴を見ることができます。私はこれを前にやったことがあります。
私は新しい人物を選択するときにsessionScope.callHistoryIDが更新されていることを確認しました。私の通話履歴データベースは現在、1人のゲストに対して2つの履歴文書しか持っていませんが、Xpageのすべてのゲストに表示されます。
sessionScope.callHistoryIDデバッガから(下記参照)は明らかに同じではありません。
<xp:panel id="pnlCallHistoryModal" style="padding-bottom:20px">
<xp:this.data>
<xp:dominoView var="callhistoryView"
viewName="luCallHistorybyPaxandIncidentID"
databaseName="blah.nsf"
ignoreRequestParams="true"
categoryFilter="#{javascript:sessionScope.callHistoryID}">
</xp:dominoView>
</xp:this.data>
<div class="col-xs-12 col-md-12 col-lg-12 panel-body">
<xp:repeat id="repeat1" value="#{callhistoryView}"
var="viewRow" indexVar="rowIndex" rows="500"
repeatControls="false">
<xp:this.facets>
<xp:text disableTheme="true" xp:key="header"
escape="false">
<xp:this.value><![CDATA[
<table class="table table-hover">
<tbody>]]></xp:this.value>
</xp:text>
<xp:text disableTheme="true" xp:key="footer"
escape="false">
<xp:this.value><![CDATA[
</tbody>
</table>]]></xp:this.value>
</xp:text>
</xp:this.facets>
<xp:tr>
<xp:this.rendered><![CDATA[# {javascript:if(viewRow.isCategory()){
return false
}else{
return true
}}]]></xp:this.rendered>
<xp:td styleClass="col-md-10 col-lg-10 small">
<xp:text escape="true" id="name">
<xp:this.value><![CDATA[#{javascript:@ProperCase(viewRow.getColumnValue("CallerFullName"))}]]></xp:this.value>
</xp:text>
<br></br>
<xp:text escape="true" id="computedField1"
styleClass="small secondary-text">
<xp:this.value><![CDATA[#{javascript:if(viewRow.getColumnValue("CallerMemo").length > 128){
return viewRow.getColumnValue("CallerMemo").substring(0,128) + " ..."
}else{
return viewRow.getColumnValue("CallerMemo")
}}]]></xp:this.value>
</xp:text>
</xp:td>
<xp:td styleClass="col-md-2 col-lg-2 small">
<xp:text escape="true" id="creationdatetime"
styleClass="small">
<xp:this.value><![CDATA[#{javascript:viewRow.getColumnValue("CallDateTime")}]]></xp:this.value>
<xp:this.converter>
<xp:convertDateTime type="both"
dateStyle="short" timeStyle="short">
</xp:convertDateTime>
</xp:this.converter>
</xp:text>
</xp:td>
</xp:tr>
</xp:repeat>
</div>
</xp:panel>
Paul、私はそれを試しました。それでも同じ結果が得られます。 \t \t \t \t XP:dominoView> \t –
ポール、 私は上記の投稿のコードは、私がの行をクリックしたときに開いているモーダルであることを言及すべきであると仮定繰り返し制御。 私は、そのコードを新しいテスト用のXPageに移行したときにうまくいきました。理由は何でしょうか? ビューが前のキーによって移入されるように、session.Scopeが更新される前にモーダルが開かれているようです。 –
私は、モーダルの起動がsessionScoppe変数を更新するために部分リフレッシュをトリガする必要があり、データソースがリフレッシュ領域にある必要があると思います。 –