@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

注: このパラメータは R5 で新しく追加されました。

文字列。オプション。指定されたカテゴリをビューに表示します。このパラメータを使用するには、ビューはカテゴリ別でなければなりません。

戻り値

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

  1. この式は、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 );
  2. 次の式の結果は前の式のものと同じですが、現在のデータベースの [Products] ビューを表示するために @DbName を使用します。
    choice:=@PickList( [CUSTOM] ; @DbName ; "Products" ; "Select a product" ; "Please select the products you want to order" ; 1 );
  3. 次の式でもデータベースの [Products] ビューが表示されますが、ビューの 2 番目の列の内容が表示されます。
    choice:=@PickList( [CUSTOM] ; @DbName ; "Products" ; "Select a product" ; "Please select the products you want to order" ; 2 );
  4. 次の式は前の式と同様ですが、選択できる文書を 1 つに制限しています。
    choice:=@PickList( [CUSTOM] : [SINGLE] ; @DbName ; "Products" ; "Select a product" ; "Please select the products you want to order" ; 2 );
  5. 次の式では、現在のデータベースの [By Category] ビューが開かれ、[Leather] カテゴリのアイテムのみが表示されます。
    choice:=@PickList( [CUSTOM] ; "" ; "By Category" ; "Select a product" ; "Please select the products you want to order" ; 5;  "Leather");
  6. 次の式では、[名前] ダイアログボックスが表示されます。ユーザーが選択したユーザー、グループ、サーバーの名前が、現在の文書の [person] フィールドに追加されます。
    FIELD person:=person;
    @SetField( "person"; @PickList( [NAME] ) )
  7. 次の式は、事前に選択された myNames の現在の値を [名前] ダイアログボックスに表示します。選択されたユーザー名が、現在の文書の [myNames] フィールドに設定されます。
    FIELD myNames := @PickList([NAME]; myNames)