2017-06-01 3 views
2

私はメイン文書を表示するデータソースとしてdominoviewで繰り返し制御しています。データソースdominoviewの自動更新を防止するにはどうすればよいですか?

リピートの各エントリに対して、ユーザーはコメントを作成できます。コメントは、ドキュメント/エントリを参照して保存されます。ユーザーがコメントを保存したときは、ドキュメントのuniversalIDを参照として使用します。私は、このunIDを基になるドミノビューの列の値から取得します。

元のビューの変更に苦しんでいます(新しいドキュメントが作成され、他のユーザーから削除されます)。 xpageはもちろん、ページロードの状況を示していますが、リピート(コメントの追加)でsthを実行すると、rowindexはxpageの表示されたデータではなく、バックエンドビューを参照しています。

たぶん例では、それを明確にするために役立ちます。(?...)

ユーザーAがのXPageを開き、それを読み取って、エントリ/ドキュメントへのコメントはなし3.一方、ユーザBが作成されていないことを決定別のメイン文書(バックエンドビューでは、ユーザAのエントリの位置が行4に移動するようになりました。ユーザAがコメントを保存すると、前の2行目のドキュメントを参照します)

このルックアップを防ぐ方法?

thx任意のヘルプについては、Uwe

答えて

0

インデックスは使用しないでください。

基礎となるリピート行の文書を代わりに使用してください。

リピートに変数を定義します。 var="row"row.getDocument()で文書を入手してください。
これにより、正しい文書が変更されたことを確認できます。

<xp:repeat 
    id="repeat1" 
    rows="30" 
    value="#{view1}" 
    var="row"> 
    ... 
    <xp:button 
     value="change document" 
     id="button1"> 
     <xp:eventHandler 
      event="onclick" 
      submit="true" 
      refreshMode="complete"> 
      <xp:this.action><![CDATA[#{javascript: 
       var doc = row.getDocument(); 
       doc.replaceItemValue("comment", "my comment"); 
       doc.save(); 
     }]]></xp:this.action> 
     </xp:eventHandler> 
    </xp:button> 
</xp:repeat> 
+0

@Uwe:これを試しましたか?それがあなたが探していたものではない場合は、あなたの質問に適切なコードを追加して、より理解してください。 –

関連する問題