フォームを使用してInputウィジェットをグループ化する
フォームを使用してエンドユーザーがデータを入力し、入力されたデータをデータベースに保存することは、アプリケーションの一般的なパターンです。OutSystemsではこのような場合、Formウィジェットを使用します。
モバイルアプリでフォームのデータを保持するには、画面にAggregateまたは変数が必要です。
フォームを実装するには、以下の手順を実行します。
- 画面にFormウィジェットを追加します。
- Aggregateまたは変数(または任意のアトリビュート)をフォームにドラッグして入力を作成します。[Save]ボタンが自動的に追加されます。
- Aggregateまたは変数のレコードをデータベースに保存するサーバーアクションを呼び出すためのクライアントアクションを、[Save]ボタンに関連付けます。
Webアプリの場合は、フォームのレコードを定義して初期値を保持するAggregateまたは変数が画面に必要です。
フォームを実装するには、以下の手順を実行します。
- Formウィジェットを画面に追加して、Source RecordをAggregateまたは変数に設定します。
- 入力をフォームに追加して、フォームレコードのアトリビュートにバインドします。
- フォームにボタンを追加します。
- フォームのレコードをデータベースに保存するアクションをボタンに関連付けます。
モバイルアプリの例
アプリケーションのモバイル版であるGoOutアプリケーションで、エンドユーザーがプロフィールを編集できるようにします。[Profile]画面がすでに用意されており、現在のユーザーとそのプロフィールをデータベースから取得するAggregateも設定されています。データを編集するための入力を追加する必要があります。
-
画面にFormウィジェットをドラッグ&ドロップします。
-
フォームにAggregateをドラッグ&ドロップします。[Save]ボタンが自動的に追加されます。
-
[Save]ボタンを選択して、Destinationプロパティで新しいクライアントアクションを作成します。
-
アクションフローで、UserとProfileを更新して
GetUserAndProfile.List.Current
を引数として渡すサーバー側アクションを呼び出します。 -
アプリケーションをパブリッシュしてテストします。
Webアプリの例
場所の検索、レビュー、評価ができるGoOutWebアプリケーションで、新しい場所の追加や既存の場所の編集を行います。すでに[PlaceEdit]画面が用意されており、入力パラメータとしてPlace識別子(PlaceId)も設定されています。場所をデータベースから取得するAggregateも設定されています。
-
画面にFormウィジェットをドラッグ&ドロップします。
-
フォームのSource RecordにAggregateの結果(
GetPlaceById.List.Current
)を設定します。 -
Placeエンティティを[Data]タブからドラッグし、フォームにドロップして入力を作成します。
-
フォームの下部にボタンをドラッグ&ドロップします。ボタンのラベルを「Save」に設定します。
-
ボタンのDestinationプロパティで、新しい画面アクションを作成します。
-
アクションフローで、フォーム変数
PlaceForm.Record
を渡すCreateOrUpdatePlaceエンティティアクションを呼び出します。 -
アプリケーションをパブリッシュしてテストします。