ビューキーを使用してドキュメントにアクセスし、var"posts"を使用して繰り返し表示するビューデータソースがあります。リピート内に、posts.getUniversalID()を使用してドキュメントのunidを取得するvar"post"のドキュメントデータソースがあります。
繰り返しのさらに下に、応答である別のドキュメントデータソース「newcomment」があり、親IDを次のように取得します:post.getDocument()。getUniversalID()
newcommentデータソースの下に、編集ボックスと送信ボタンがあり、newcomment.save()を使用して「投稿」への応答としてコメントを保存します。
これが私の問題です
2人が同じxpageにアクセスします。personAがページに入り、投稿にコメントを書き始めます。同時に、personBは新しい投稿を作成し、personAがコメントを送信する前に送信します。今何が起こっているのかというと、コメントは、personAが応答した投稿ではなく、最新の投稿にバインドされます。
私も別のことを試しました。たとえば、そのデータベースに10件の投稿があるとします。personAとpersonBはxpagesにアクセスします。personAは投稿番号8にコメントを書き始めます。同時に、personBはデータベースに2つの新しい投稿を作成します。personAがコメントを送信すると、同じインデックスにバインドされているように見えます。これは2つの投稿になっています。しかし、それでもインデックス8。これはもちろん間違った投稿です。
リピートを「createControlsAtPageCreation」に変更すると、つまりrepeatControls = trueの場合、コメントは正しい投稿に添付されますが、ビューが更新されて最新の投稿が表示されないという別の問題が発生します。
私の繰り返しは、extlibの動的コンテンツコントロールを使用して動的にロードされるカスタムコントロールを使用しています。
ここでの情報は、repeatControls設定について私が見つけたものです。
- repeatControlsプロパティをtrueに設定すると、データセットの反復ごとに子の新しいコピーを作成するように繰り返しコントロールに指示します。
- リピートコントロールがプロパティrepeatControls=“ true”で構成されている場合、ページの読み込み時にその内容を1回だけ繰り返します。
ですから、ここでの私の質問は、何が起こっているのか理解していないということです。コメントが間違った親ドキュメントに添付されているのはなぜですか?これを防ぎ、新しい投稿を正しく表示する方法はありますか
ご協力いただきありがとうございます