ユーザーが指定された選択肢から選択できるようにするコントロール。 検索と複数の選択をサポートします。
Description
コンボ ボックス コントロールを使用すると、選択する項目を検索できます。 検索は SearchField プロパティでサーバー側で実行されるため、パフォーマンスは大きなデータ ソースの影響を受けません。
単一選択モードまたは複数選択モードは、SelectMultiple プロパティを使用して構成されます。
選択する項目を検索する場合は、アイテムごとに、[データ] ペインの [レイアウト] 設定を変更することで、1 つのデータ値、2 つの値、または図と 2 つの値 (人物) を表示できます。
小さい画面でコントロールを表示すると、項目リストのポップアップが全画面表示コントロールになり、使いやすさが向上します。
注
数値を持つ項目を検索する場合は、Text() 関数を使用して数値をテキストに変換します。 たとえば、 Text(12345)などです。
制限事項
コンボ ボックス コントロールには、次の制限があります。
- ギャラリー内でコンボ ボックス コントロールを使用する場合、ユーザーがギャラリーをスクロールしても、その選択は維持されません。 スクロールしないギャラリー内でコンボ ボックス コントロールを使用する場合、これは問題ではありません。 回避策は現在使用できません。
ユーザーの選択機能
コンボ ボックスをユーザー 選択ウィンドウとして使用するには、[データ] ウィンドウの [レイアウト] 設定からユーザー テンプレートを選択し、以下のユーザーに対して表示される関連データ プロパティを構成します。
重要なプロパティ
アイテム – 選択できるデータのソース。
DefaultSelectedItems – ユーザーがコントロールを操作する前に選択された最初の項目。
注
既定の プロパティは非推奨です。代わりに DefaultSelectedItems を 使用してください。
SelectedItems – ユーザーの操作に起因する選択された項目の一覧。
選択済み – ユーザー操作の結果として最後に選択された項目。
SelectMultiple – ユーザーが 1 つの項目を選択できるか、複数の項目を選択できるか。
IsSearchable – ユーザーが選択する前にアイテムを検索できるかどうかを指定します。
注
IsSearchable は、少なくとも 1 つのテキスト フィールドを含むデータ ソースでのみ有効にすることができます。 検索でクエリを委任するには、 Items 式を委任できる必要があります。 つまり、Items 式内の If ステートメントはサポートされていません。
SearchFields - ユーザーがテキストを入力するときに検索されるデータ ソースのデータ フィールド。
注
複数のフィールドを検索するには、["MyFirstColumn", "MySecondColumn"] の形式で SearchFields プロパティを設定します。 テキスト フィールドのみがサポートされています。
追加のプロパティ
AccessibleLabel – スクリーン リーダーのラベル。
BorderColor – コントロールの境界線の色。
BorderStyle – コントロールの境界線が Solid、Dashed、Doted、None のいずれであるか。
BorderThickness – コントロールの境界線の太さ。
DisplayFields – 検索によって返される各項目に対して表示されるフィールドの一覧。 [プロパティ] オプション タブの [データ] ペインを使用して構成するのが最も簡単です。
注
特定のテンプレートの複数の表示フィールドを更新するには、 DisplayFields プロパティを 次の形式で設定します: ["MyFirstColumn", "MySecondColumn"]
。
DisplayMode – コントロールでユーザー入力 (編集) を許可するか、データのみを表示するか (表示)、無効 (無効) にするかを指定します。
FocusedBorderColor – コントロールがフォーカスされている場合のコントロールの境界線の色。
FocusedBorderThickness – コントロールがフォーカスされたときのコントロールの境界線の太さ。
Height – コントロールの上端と下端の間の距離。
InputTextPlaceholder – 項目が選択されていない場合にエンド ユーザーに表示される説明テキスト。
OnChange – ユーザーが選択を変更したときに実行するアクション。
OnNavigate – ユーザーが項目を選択したときに実行するアクション。
OnSelect – ユーザーがコントロールをタップまたは選択したときに実行するアクション。
TabIndex – 他のコントロールに対するキーボード ナビゲーションの順序。
表示 – コントロールが表示されるか非表示になっているか。
幅 – コントロールの左端と右端の間の距離。
X – コントロールの左端とその親コンテナー (親コンテナーがない場合は画面) の左端間の距離。
Y – コントロールの上端とその親コンテナー (親コンテナーがない場合は画面) の上端間の距離。
注
ポップアップの境界線プロパティは、 Border プロパティによって制御されます。
例示
基本コンボ ボックス
この例の手順は 、テーブルを提供するすべてのデータ ソースに適用されますが、これらの手順を正確に実行するには、サンプル データを含む Microsoft Dataverse データベースで環境を使用します。
[ 挿入>Input>Combo] ボックスを選択し、"Combobox1" という名前を付けます。
画面の右側にある [プロパティ ] ウィンドウで、[ データ ソースの選択 ] リスト ( [アイテム] の横) を開き、[アカウント] テーブルなどのデータ ソースを追加または選択します。
同じウィンドウで、[ 編集 ] を選択します ( [フィールド] の横)。
[データ] ウィンドウで、[プライマリ テキスト] ボックスの一覧を開き、[コンボ ボックス] コントロールに表示される [プライマリ名] 列を選択します。
Alt キーを押しながら下矢印を選択し、コンボ ボックス コントロールを開きます。
コントロールには、指定したデータ ソースで指定したプライマリ名のデータが表示されます。
(省略可能)既定で最初のレコードを表示する
DefaultSelectedItems プロパティを次の式に設定し、DataSource をデータ ソースの名前に置き換えます。
First(DataSource)
(省略可能)選択したアカウント名の値をラベルに表示する
[ 挿入>テキスト ラベル] を選択し、[ ラベル] を選択します。
Text プロパティをこの式に設定し、Text を次の数式に置き換えます。
If(CountRows(ComboBox1.SelectedItems)>0, Concat(ComboBox1.SelectedItems,'Account Name',", "), "NO SELECTED ITEM")
注
If ステートメントは、選択した項目がどのように存在するかを確認し、空の場合はコンマ区切りのラベルまたは "NO SELECTED ITEM" メッセージで表示します。
単純なドロップダウン動作をシミュレートする
IsSearchable を false に設定し、SelectMultiple を false に設定すると、ドロップダウンと同じ機能を実現できます。
[ 挿入>Input] を選択し、[ コンボ ボックス] を選択します。
画面の右側にある [プロパティ ] ウィンドウで、[ データ ソースの選択 ] リスト ( [項目] の横) を開き、データ ソースを追加または選択します。
同じウィンドウで、[ 編集 ] を選択します ( [フィールド] の横)。
[データ] ペインで、[プライマリ テキスト] リストを開き、[コンボ ボックス] コントロールに表示する列を選択します。
IsSearchable プロパティを false に設定します。
SelectMultiple プロパティを false に設定します。
Alt キーを押しながら下矢印を選択し、コンボ ボックス コントロールを開きます。
コントロールには、指定したデータ ソースで指定した列のデータが表示されます。
注
"アイテムの検索" テキストが表示されなくなり、1 つの項目のみを選択できます。
アクセシビリティ ガイドライン
色のコントラスト
次の間に適切な色のコントラストが必要です。
- ChevronFill と ChevronBackground
- ChevronHoverFill と ChevronHoverBackground
- SelectionColor と SelectionFill
- SelectionFill と Fill
- SelectionTagColor と SelectionTagFill
これは、 標準のカラー コントラスト要件に加えて行われます。
スクリーン リーダーのサポート
AccessibleLabel が存在する必要があります。
注
タッチ スクリーンでは、スクリーン リーダーユーザーはコンボ ボックスの内容を順番に移動できます。 コンボ ボックスは、選択時にその内容を表示または非表示にするボタンとして機能します。
キーボードのサポート
キーボード ユーザーが移動できるようにするには、TabIndex を 0 以上にする必要があります。
フォーカス インジケーターは明確に表示する必要があります。 これを実現するには、FocusedBorderColor と FocusedBorderThickness を使用します。
注
タブ キーは、コンボ ボックスとの間を移動します。 矢印キーを押すと、コンボ ボックスの内容が移動します。 エスケープ キーを開くと、ドロップダウンが閉じます。