これは私が思うにかなり奇妙なものであり、私はここで間違いを犯したと確信しています:
私のアプリケーションの 1 つで、基になる NotesDocument の Richtext フィールドにバインドされた fileDownload コントロールを表示しています。コントロールのプロパティは、[添付ファイルがない場合は非表示]、[サイズ] 、 [タイプ] 、 [作成済み]、[削除を許可] に設定されています。コントロール自体は、次のように別のカスタム コントロールの一部として、カスタム コントロール内に配置されます。
Xpage.xsp
- ccContainer
- - ccInnerDoc
コンテナーと「内部」ドキュメントの両方のドキュメント データソースは、ccContainer のルートで定義され、内部ドキュメントに渡されます。内部ドキュメントのデータソースはドキュメントの選択に基づいて計算され、その igenoreRequestParams プロパティはfalseに設定されているため、選択したデータソースの内容を特定のパネルなどに表示できます。
選択したドキュメントは最初に読み取りモードで開かれ、ボタンを使用して編集モードに設定できます。
問題は、ドキュメントがどのモードで開かれているかに関係なく、ファイル ダウンロード コントロールが常に削除アイコン (ごみ箱) を表示していることです。アイコンが表示されるだけでなく、本当に削除するかどうかを尋ねて動作するふりをします。次に、添付ファイルを実際に削除します。もちろん、この変更はデータソースに保存できません。これは、読み取りモードでのみ開かれているためです。
この動作は、アプリケーションの他の何かの副作用であると確信しています(ある程度、これを単純な新しいデータベースで再構築しましたが、今まで再現できませんでした)が、私の知識の終わりにいますこれは何だろう。
これを引き起こしている可能性のあるヒントは大歓迎です。