@PickList (式言語)
次のいずれかをモーダルウィンドウに表示します。
- 指定されたビュー。ユーザーはこのビューで文書を複数選択できます。@PickList は、選択された文書の列の値を返します。
- 使用可能なすべての Domino ディレクトリに存在する情報が表示されるダイアログボックス。ユーザーはユーザー、グループ、サーバー、会議室、リソースなどの名前をいくつでも選択でき、@PickList は選択された名前を返します。
構文
@PickList( [CUSTOM] : [SINGLE] ; server : file ; view ; title ; prompt ; column ; categoryname )
@PickList( [NAME] : [SINGLE] [; selectedoptions ])
@PickList( [ROOM] )
@PickList( [RESOURCE] )
@PickList( [FOLDERS] : [SINGLE] ; server:database )
@PickList( [FOLDERS] : [SHARED] ; server:database )
@PickList( [FOLDERS] : [PRIVATE] ; server:database )
@PickList( [FOLDERS] : [NODESKTOP] ; server:database )
パラメータ
[CUSTOM]
キーワード。ダイアログボックスにビューを表示することを示します。
[NAME]
キーワード。1 つ以上の名前を選択できるダイアログボックスを開きます。
[SINGLE]
キーワード。オプション。文書を 1 つしか選択できないよう制限します。
[ROOM]
キーワード。会議室を選択するダイアログボックスを開きます。
[RESOURCE]
キーワード。リソースを選択するダイアログボックスを開きます。
[FOLDERS]
キーワード。データベース内とデスクトップにあるすべてのフォルダ名の文字列リスト (複数の選択可能) を返します。以下のキーワードを [Folders] と組み合わせることができます。
[SINGLE]
キーワード。オプション。フォルダを 1 つしか選択できないよう制限します。
[SHARED]
キーワード。オプション。共有フォルダ以外は選択できないよう制限します。
[PRIVATE]
キーワード。オプション。個人フォルダ (データベース内とデスクトップ上にあるもの) 以外は選択できないよう制限します。
[SHARED]:[PRIVATE]
キーワード。オプション。すべての共有フォルダと個人フォルダから選択できます。
[NODESKTOP]
キーワード。オプション。デスクトップにあるフォルダは選択から除外します。
selectedoptions
文字列リスト。オプション。オプションを事前選択します。
server : file
文字列リスト。server はデータベースがあるサーバーの名前です。file は開くデータベースのパスとファイル名です。データベースの名前と保存場所は、オペレーティングシステムの適切な形式で指定します。
[custom] キーワードの場合は、その後に続くパラメータとして、サーバーとファイル名の代わりにレプリカ ID を使用できます。レプリカ ID は文字列でなければなりません。また、2 組の 8 桁の 16 進数の間にコロン (:) が必要です。例:
@PickList([CUSTOM]; "852564A0:006B7872"; "By Category"; "Testing replica ID"; "Test prompt"; 3)
現在開いているデータベースを指定するには、"" を使用します。
view
文字列。データベース内の開くビューの名前です。
title
文字列。ダイアログボックスのウィンドウタイトルを指定します。
プロンプト
文字列。ダイアログボックス内に表示するプロンプトです。文字列の 1 行目のみが表示されます。それ以上長い文字列は切り捨てられます。
column
数値。この関数からどの列の値を返すかを示す数値です。最初の列の場合は 1、2 番目の列の場合は 2 というように指定します。@DbColumn や @DbLookup とは異なり、列に含まれる式の種類にかかわらず、すべての列が数えられます。
categoryname
文字列。オプション。指定されたカテゴリをビューに表示します。このパラメータを使用するには、ビューはカテゴリ別でなければなりません。
戻り値
columnValue
文字列リスト。ユーザーが選択した文書の、指定された列 の値。
使用法
この関数は、ボタン式、手動エージェント式、貼り付けエージェント式、フォームアクション式、ビューアクション式で使用すると便利です。列式、選択式、メールエージェント式、スケジュール設定されたエージェント式、非表示切り替え式、ウィンドウタイトル式、フォーム式では使用できません。
@PickList([CUSTOM]) は、@DbColumn や @DbLookup と同様に動作しますが、@PickList のほうが次の点で優れています。
- データをより多く保存できる
- 検索をより速く実行できる
- 最初の数文字を入力するだけで、希望する文書がすぐに見つかる
検索結果は保存されないため、@PickList には @DbColumn や @DbLookup にあるような NoCache オプションはありません。@PickList を実行するたびに、検索が新たに実行されます。
カレンダービューでは、@PickList によって当日と翌日の 2 日間が時刻のスロットなしで表示されます。カレンダーの表示形式を切り替えるボタンをクリックすると、他の日付に移動できます。
この関数は、Web アプリケーションでは使用できません。
@PickList 関数は 64 KB を超えるデータを返すことはできません。次の公式を使用して、@PickList で返されるデータ量を求めます。
文字列を返す検索の場合
2 + (2 * 返されるエントリ数) + 全エントリの合計文字列サイズ
数値または日付を返す検索の場合
(10 * 返されるエントリ数) + 6
@PickList では、サイズに関係なくビューにアクセスできます。表示できる選択肢の数に制限はありません。サイズが制限されるのは戻り値のみです。
クロスリファレンス
LotusScript® NotesUIWorkspace クラスの PickListStrings メソッド
LotusScript Notes UIWorkspace クラスの PickListCollection
例
- この式は、PROD.NSF の [Products] ビューをダイアログボックスに表示します。ユーザーが [Products] ビューから [Staple remover] と [Stapler] を選択すると、一時変数 choice に Staple remover; Stapler というテキストリストが代入されます。
choice:=@PickList( [CUSTOM] ; "" ; "Products" ; "Select a product" ; "Please select the products you want to order" ; 1 );
- 次の式の結果は前の式のものと同じですが、現在のデータベースの [Products] ビューを表示するために @DbName を使用します。
choice:=@PickList( [CUSTOM] ; @DbName ; "Products" ; "Select a product" ; "Please select the products you want to order" ; 1 );
- 次の式でもデータベースの [Products] ビューが表示されますが、ビューの 2 番目の列の内容が表示されます。
choice:=@PickList( [CUSTOM] ; @DbName ; "Products" ; "Select a product" ; "Please select the products you want to order" ; 2 );
- 次の式は前の式と同様ですが、選択できる文書を 1 つに制限しています。
choice:=@PickList( [CUSTOM] : [SINGLE] ; @DbName ; "Products" ; "Select a product" ; "Please select the products you want to order" ; 2 );
- 次の式では、現在のデータベースの [By Category] ビューが開かれ、[Leather] カテゴリのアイテムのみが表示されます。
choice:=@PickList( [CUSTOM] ; "" ; "By Category" ; "Select a product" ; "Please select the products you want to order" ; 5; "Leather");
- 次の式では、[名前] ダイアログボックスが表示されます。ユーザーが選択したユーザー、グループ、サーバーの名前が、現在の文書の [person] フィールドに追加されます。
FIELD person:=person; @SetField( "person"; @PickList( [NAME] ) )
- 次の式は、事前に選択された myNames の現在の値を [名前] ダイアログボックスに表示します。選択されたユーザー名が、現在の文書の [myNames] フィールドに設定されます。
FIELD myNames := @PickList([NAME]; myNames)