困った問題があります。私は解決策を探していましたが、まだ有効な解決策を見つけていません。私が見た解決策は他の問題をもたらします。
シナリオは次のとおりです。「ナビゲーター」と「メイン」の2つのフレームを持つフレームセットがあります。「ナビゲーター」フレームに「ナビゲーター」というフォームを表示します。メニューを表示するためのアウトラインが含まれています。「メイン」フレームに、ユーザーがナビゲーターで選択したビューを表示します。つまり、これは非常に伝統的なNotesクライアントアプリケーションです。
次に、ビューの上部(アクションバー内)にチェックボックスを追加して、ユーザーが自分の名前でビューをフィルターできるようにします。これには@SetViewInfoを使用しますが、すべて完璧に機能します。
問題は、ユーザーがビューを切り替えるときです。@SetViewInfoフィルターは、別のビューに切り替えてもアクティブなままなので、検索した後、いくつかの解決策を見つけました。
http://www-01.ibm.com/support/docview.wss?uid=swg21204481 IBMは、QuerySaveイベントに次のコードを入れることをお勧めします。
@SetViewInfo([SetViewFilter]; temp ; 0 ;1)
ビューを切り替えたり、ビューを閉じたりすると、「指定されたコマンドを実行できません」というエラーメッセージが表示されます。
http://www-10.lotus.com/ldd/bpmpblog.nsf/dx/using-setviewinfo-in-a-notes-client-application-to-create-a-user-specific-viewで、AndreGuirardは次のように提案しています。次のコードをQuerySaveイベントに入れます。
@SetTargetFrame("frameName");
@UpdateFormulaContext;
@Command([OpenView]; @Subset(@ViewTitle; -1));
@SetViewInfo([SetViewFilter]; ""; "columnName"; 1)
フレーム名とビューの最初の列のプログラム名に一致するようにこれを変更します。
@SetTargetFrame("Main");
@UpdateFormulaContext;
@Command([OpenView]; @Subset(@ViewTitle; -1));
@SetViewInfo([SetViewFilter]; ""; "Adjuster"; 1)
これは、ビューを切り替えるときに完全に機能します。ただし、この特定のフィルター処理されたビューでアプリケーションを閉じると、アプリケーションが自動的に再度開かれます。これは、ビューを閉じるときにフィルターが有効かどうかに関係なく発生します。
ただし、ビューが再表示されても、フレームセットは再ロードされません。これは、ビューナビゲーターが左側に組み込まれているビューにすぎません。私はついにこれを(組み込みのビューナビゲーターで)データをフィルター処理するビューとは別のビューを選択することで機能させることができました。これによりしばらくの間問題が修正されましたが、その後再び開始され、フィルターされたビューがナビゲーターでアクティブになります。
明らかにこれを引き起こしているのはOpenViewコマンドですが、その行だけを削除すると、「指定されたコマンドを実行できません」というエラーが再度発生します。
何か提案/ポインタはありますか?Windows7Professionalで実行されているNotes8.5.3を使用しています。
この質問は、Notes8.5のIBMdeveloperWorksフォーラムにもあり ます。http ://www-10.lotus.com/ldd/nd85forum.nsf/DateAllThreadedWeb/08c73910571306c485257b2b0061ef91