フォームを使用した Dataverse データの操作
フォームは、モデル駆動型のフォーム定義をレイアウト テンプレートとして使用し、Web ページで特定のテーブルの行を操作するための機能を追加します。 リストと同様に、フォームはデータ駆動型の構成であるため、ユーザーは、フォームを追加して Web サイトのデータを収集または表示することができます。開発者がカスタム フォームを作成する必要はありません。 フォームは、モデル駆動型のフォームを使用して定義でき、Web サイト上の Web ページに配置できます。
フォームでは、ほとんどの列タイプとサブグリッド、選択肢列タイプ (「Power Pages の choices 列を構成する」を参照)、およびコード コンポーネント (「Power Pages でコード コンポーネントを使用する」を参照) を表示できます。
一般的な使用方法
次の表では、フォームを使用できる一般的なシナリオについて説明します。
シナリオ | 説明 |
---|---|
レイアウト | フォームを、レイアウト メカニズムとして読み取り専用モードで設定し使用します。 フォームは、従業員、製品、またはその他の Microsoft Dataverse テーブルに関する情報ページとして考えてください。 たとえば、組織内で利用可能なオープン ポジションを表す Dataverse インスタンス内にカスタム テーブルがある場合があります。 特別なテンプレートを作成してページをレンダリングする代わりに、テーブルに対して個別のモデル駆動型フォームを作成し、Power Pages デザイン スタジオを使用して新しい Web ページを作成して、そのページにフォーム コンポーネントを追加することができます。 モデル駆動型アプリのフォーム レイアウトに公開された変更は、Web ページに自動的に適用されます。 |
情報のキャプチャ | フォームは、匿名ユーザーまたは認証済みユーザーからのデータをキャプチャするために、Web サイト上で使用できます。 たとえば、Dynamics 365 Sales のお問い合わせ先ページに簡単な潜在顧客のフォームをレンダリングし、潜在顧客としての匿名要求を記録することができます。 認証済みユーザーの場合、Web サイトではアンケート ページを使用して、顧客からの製品フィードバックをカスタムの製品フィードバック テーブルに収集することができます。 |
レコードの管理 | フォームを使用すると、テーブルに対する作成、取得、更新、削除 (CRUD) 操作のさまざまな組み合わせを、関連する Web ページのセット内で定義できます。 たとえば、顧客は独自のサポート案件を取得して読んだり、新しいサポート案件を作成したりできます。パートナーは自社のプロファイルを編集できます。従業員は、会社から割り当てられている資産のリストを表示できます。 |
Web アプリ | フォームをリストやサブグリッドと共に利用するとき、JavaScript によって拡張された機能も併せて使うと、開発者は完全な Web アプリケーションを構築することが可能になります。 |
フォームの作成
新しいフォームを作成するときは、最初の手順として、レンダリングするテーブルおよびフォームを決めます。 モデル駆動型アプリの一部であるフォームは再利用できますが、一般的な方法は、Power Pages 固有のモデル駆動型フォーム (モデル駆動型アプリに含まれる場合も含まれない場合もあります) を設計することです。
Power Pages のフォームは、外部の対象者もそのフォームに関与する場合は特に、より少ない情報で、より簡潔なものにします。
Power Pages のプロセスは、スタッフ向けのモデル駆動型アプリ (Dynamics 365 アプリを含む) を内部的に使用する場合とは異なります。 モデル駆動型アプリの変更は Power Pages のフォームに手動で適用する必要があるため、専用のフォームを使用すると保守管理が簡単になります。また、要件を確認し、使いやすさを評価することも可能になります。
レンダリングするフォームと列には、特定の制限が存在します。 詳細については、「フォームについて」を参照してください。
モデル駆動型フォームで不可欠な要素であるクライアント側のビジネス ルールおよび JavaScript は、Power Pages Web サイトでは実行されません。 このことは見落としやすい点であるため、意図しない結果になる可能性があります。
関連する行、メモ、およびタイムラインをレンダリングする場合は、Web サイトですべての機能の側面がサポートされている (必要である) とは限らないため、特に注意する必要があります。
モード
フォーム モードは、フォームのプロパティ ダイアログにある データ タブで選択できます。 フォーム モードは、フォームを使用してレイアウトを生成するか、データをキャプチャするか、Dataverse 行の完全な編集機能を提供するかを定義します。 フォーム モードでは、次のいずれかのオプションを指定できます。
読み取り専用 - Power Pages デザイン スタジオでは、このオプションは読み取り専用と呼ばれます。
挿入 - デザイン スタジオでは、このオプションは新しいレコードの作成と呼ばれます。
編集 - デザイン スタジオでは、このオプションは既存のレコードを更新と呼ばれます。
注
ユーザーが行に対する書き込み権限を持っていない場合は、編集モードのフォームが読み取り専用として表示されます。
モードが挿入の場合、追加情報は必要ありません。 読み取り専用モードおよび編集モードの場合、フォームは表示または更新するテーブル行を「知る」必要があります。 レコード ソース タイプの設定では、この情報をフォームに渡す方法が定義されます。
クエリ文字列 - この設定は、デザイン スタジオでフォームを作成する際に既定で使用されます。 フォームを含むページが表示されている場合、行識別子は、
https://contoso.powerappsportals.com/contacts/edit/?id=<contact guid>
のように、クエリ文字列の一部として認識されます。 通常、この設定は、フォームをリストにリンクすると自動的に行われます。 これが最も一般的な設定です。現在のポータル ユーザー - このオプションは、Power Pages Management アプリ内で設定できます。 このオプションを選択すると、フォームはページ URL から追加情報を使用せずに、現在の Web サイト ユーザー行から情報を読み込みます。 通常、このオプションは、ユーザー プロファイル フォームをレンダリングするために使用されます。 この場合、Web サイト ユーザーは連絡先テーブルによって表されるため、テーブル名列を連絡先に設定する必要があります。
現在のポータル ユーザーに関連付けられているレコード - このオプションは、Power Pages Management アプリ内で設定できます。 このオプションを選択すると、現在のユーザーの取引先企業の親会社の詳細など、関連付けられている行を編集できるようになります。 リレーションシップ名を指定して、編集する行を識別する必要があります。 選択するテーブル タイプは、テーブル名列での選択内容と一致している必要があります。 このオプションは、パートナー組織が複数の Web サイト ユーザーを持つ場合のパートナー シナリオで役立ちます。 これらのユーザーの一部に対して、取引先企業の親会社の行を編集することを承認できます。
テーブル、フォーム、名前、およびモードは、フォームのレンダリングで必要となるプロパティです。
フォームの設定
デザイン スタジオでは、フォームの外観と動作を制御する追加の構成オプションを使用できます。
[フォーム] タブ
フォーム タブでは、テーブル、そのテーブルのフォーム、およびフォームの名前 (作成後は変更できません) を選択できます。
[データ] タブ
データ タブでは、フォーム モードを変更できます。
[送信時] タブ
送信時の設定によって、フォームが正常に送信されたときに実行されるアクションが決まります。
- メッセージを表示 - フォームが送信されたときにメッセージを表示します。
- ページにリダイレクト - フォームの送信が成功した場合に、Web ページに自動的に移動します。
- URL にリダイレクト - URL (Web サイトまたは外部 URL のいずれか) にリダイレクトします。
[CAPTCHA] タブ
CAPTCHA 機能は、CAPTCHA を匿名ユーザーまたは認証済みユーザーに対して表示するかどうかを決定します。
[添付ファイル] タブ
添付ファイル タブでは、ユーザーがファイルをアップロードできるかどうかを選択したり、添付ファイルの最大サイズとファイル タイプに対する制限を指定したりすることができます。
フォームに関するその他の設定
Power Pages Management アプリのフォームでは、その他の構成設定も利用できます。 Power Pages Management アプリのフォームにアクセスするには、次の手順を実行します。
Power Pages デザイン スタジオのページで、フォーム コンポーネントを選択します。
フォームの編集コマンドを選択します。
フォームの設定 ダイアログで、データ タブを選択します。
構成ヘッダーで、Power Pages Management アプリを開く を選択します。
フォームには、ユーザーが行を操作するためのアクションを含めることができます。 フォームの各要素の詳細な構成を行うには、追加のフォーム メタデータ行を使用します。
構成
以下のセクションでは、Power Pages Management アプリでフォームを設定するためのさまざまな方法について説明します。
フォームのオプション
ほとんどのフォーム オプションでは、カスケード スタイル シート (CSS) 要素をカスタマイズして、外観を変更することができます。 ラベル、メッセージ、ヒントなどのテキスト要素は、複数の言語で指定できます。 たとえば、フォームを送信した後の既定のメッセージは "保存" されますが、有効になっている Web サイト言語ごとにカスタマイズすることができます。
フォームのその他のオプションとしては、フォームの設定に関係なく、すべての列を必須としてマークするかどうかを決定する場合に使用できる、検証動作の制御オプションなどがあります。
その他の設定
追加の設定により、UI 要素のスタイル設定や翻訳など、フォームの動作についてその他の側面を定義できます。
ヒント
一部の設定および構成オプションは非表示になっています。 詳細設定チェック ボックスをオンにすると、使用可能なオプションがすべて表示されます。
挿入時に現在のポータル ユーザーを関連付ける - このオプションを使用すると、行を作成または更新した Web サイトの連絡先を追跡することができます。 この設定により、Dataverse の作成者列および作成者列と同等の Web サイトが作成されます。 また、必要に応じて上位下位のリレーションシップも設定できます。 たとえば、新しい取引先企業行が作成された場合は、現在の連絡先を基本連絡先として自動的に設定することができます。
添付ファイルの追加 - ファイル アップロード コントロールをフォームに追加するためのオプションが多数用意されています。 構成は柔軟性に富んでおり、複数のファイル、ストレージ オプション、MIME の種類、およびサイズ制限 (たとえば、アップロードする画像を最大 2 MB のサイズに制限できます) をサポートしています。
位置情報 - フォームを設定して、既存の場所をマップ上のピンとして表示したり、ユーザーが場所を指定したりできるようにマップ コントロールを表示することができます。 フォームのマップ コントロールでは、さまざまな場所列を特定したり、列に値を割り当てたり、それらの列から値を取得したりするためには、その他の構成が必要になります。 詳細については、「フォームの位置情報の構成」を参照してください。
関連付けられたテーブル参照
関連付けられたテーブル参照機能を利用すると、作成または更新されている現在の行を別のターゲット行に関連付けることができます。 この機能は、複数のテーブル タイプに対して複数の手順を実行していて、その結果得られる行を関連付ける場合や、関連付ける行 ID のクエリ文字列がページに渡される場合に便利です。
たとえば、今後のウェビナーに関する情報を表示するイベント ページがあるとします。 登録フォームが表示される登録ページに閲覧者をリダイレクトするための [登録] ボタンを追加するとします。 この場合、クエリ文字列にイベント識別子を渡すことができます。そして、登録フォームが送信されると、登録情報をイベントに自動的にリンクできます。
アクション
フォームでは個々のテーブル行が処理されるため、更新、削除、非アクティブ化など、この行に対してさまざまなアクションを実行できます。 実行時にコマンド ボタンとして表示されるこれらのアクションは、追加設定 > アクション ボタンの構成を選択することで設定できます。
すべてのコマンドには、ボタンの名前を変更したり、フォーム上のボタンの配置を変更したりするためのオプションがあります。
フォームのメタデータ
フォームのメタデータ行を使用すると、以下のような個々のフォーム要素の外観と動作を制御できます。
列、セクション、およびタブの外観。 また、個々の列の既定値、検証の動作、およびその他の側面も定義できます。
サブグリッド構成。サブグリッド構成を使用すると、テーブル リストのアクションと同様に、関連する行のアクションを定義できます。
メモおよびタイムラインのセクションの動作、および新しい行を追加できるかどうかの指定。 通常、このオプションは、Web サイトのユーザーが行に関するコメント (たとえば、処理中のサポート案件など) を入力する場合に使用します。
Web サイトへのフォームの追加
フォームでは、必要な動作が定義されますが、Web サイトでフォームをレンダリングする方法や場所についての情報は含まれません。 Web サイトにフォームをレンダリングするには、2 つの方法があります。
作成、更新、編集などのリスト アクションのターゲットとして、フォームを明示的に指定します。 この場合、フォームはモーダル ポップアップ ウィンドウにレンダリングされます。 フォームがポップアップ ウィンドウにレンダリングされる場合、一定の制限が適用されます。 たとえば、サブグリッドから関連する行を作成することはできません。
リストの場合と同様に、Power Pages デザイン スタジオでフォーム コンポーネントを Web ページに追加します。 このアクションにより、フォームをレンダリングするために Web ページのコピー上に Liquid タグが配置されます。
{% entityform name: '<<form name>>' %}
フォームは処理のために情報をサーバーに送信できるため、リストと比較すると、フォームのレンダリングを制御できる範囲は少なくなります。