1

困った問題があります。私は解決策を探していましたが、まだ有効な解決策を見つけていません。私が見た解決策は他の問題をもたらします。

シナリオは次のとおりです。「ナビゲーター」と「メイン」の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

4

1 に答える 1

0

まず、ビューフレームが常に「NotesView」と呼ばれるようにすることをお勧めします。これを行うと、互換性の問題がはるかに少なくなります。

次に、QuerySaveイベントに入れると言うとき、それは本当にQueryCloseイベントを意味していると思いますか?ビューにはQuerySaveイベントがありません。

第三に、@UpdateFormulaContext行は必要ないことがわかりました。これは私が私の見解で持っているものですQueryClose...

@SetTargetFrame("NotesView");
@Command([OpenView]; @Subset(@ViewTitle; -1));
@SetViewInfo([SetViewFilter]; ""; "<programmaticColumnName>"; 1)

そして、ビュー内で問題なくアプリを閉じることができます。

于 2013-08-16T03:51:30.337 に答える