リレーション先のデータを追加
リレーションシップが設定されているテーブルも併せて編集することもできます。
リレーションシップが設定されているテーブルをデータソースに追加し、同様に一覧、詳細、編集画面を追加します。
編集画面ではリレーションシップの列は自動的に対象のデータを選択するプルダウンになります。
![Animation3-2.gif](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F2680397%2Fe89cf792-41c3-69a6-af58-11ec3ffab115.gif?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=ee142df6b7efa5bb05208e283ab23ba7)
ポイント
- 一覧画面のフィルタ
リレーション先の一覧画面に表示されるデータをフィルタするには Fileter 関数を使用します。
Items 欄:
Filter(【テーブル名】, 【条件】)
例:
取引先担当者一覧画面で選択された氏名と一致する旅費のデータにフィルタする場合
Filter(旅費,'取引先担当者 '.氏名 = ContactBrowseGallery.Selected.氏名)
フィルタした結果を並び替えるには Sort 関数と組み合わせて使用します。
Sort(Filter(旅費,'取引先担当者 '.氏名 = ContactBrowseGallery.Selected.氏名),発生日時,SortOrder.Descending)
https://learn.microsoft.com/ja-jp/power-platform/power-fx/reference/function-filter-lookup
- 編集画面のプルダウンのデフォルト値
プルダウンにデフォルトで選択されている項目は DefaultSelectedItems プロパティで指定できます。
https://learn.microsoft.com/ja-jp/power-apps/maker/canvas-apps/controls/control-drop-down
プロパティを変更するためにはカードのロックを解除しておく必要があります。
メディア
[メディア] タブに画像ファイルなどをアップロードすれば、数式内で参照することができます。
変数
グローバル変数とコンテキスト変数
グローバル変数のスコープはアプリ全体で、変数の値はアプリの各画面で共有されます。
コンテキスト変数のスコープは各画面で、同じ名前の変数でも値はアプリの画面ごとに分離されていいます。
名前 | スコープ | 初期化の方法 |
---|---|---|
グローバル変数 | アプリ全体 | Set 関数 |
コンテキスト変数 | 各画面 | UpdateContext 関数 |
グローバル変数
グローバル変数は数式内で Set 関数によって作成できます。作成したグローバル変数は If 文などの条件式で使用することができます。
Set(【変数名】= 【初期値】)
コンテキスト変数
グローバル変数は数式内で UpdateContext 関数によって作成できます。UpdateContext 関数では複数の変数をまとめて初期化できます。異なる画面で同じ名前の変数を定義できます。また Navigate 関数でも生成できます。
UpdateContext({【変数名1】:【値1】,【変数名2】:【値2】}...)
Navigate(【スクリーン名】,【画面遷移効果】, {【変数名1】:【値1】...})
使用例:各画面の項目の並び順を制御する変数
※ 式が長くなって読みづらいときは [テキストの書式設定] ボタンから式を見やすく成形することができます。
検索
レコードの文字列検索は Search 関数で行います。似ている関数に Filter 関数や LoopUp 関数があります。Filter は文字列以外の任意の条件で検索でき、LoopUp はヒットした行のうち最初の 1 行だけを返します。
名前 | 説明 | 書式 |
---|---|---|
Search | 文字列での検索 | Search(【テーブル名】,【検索テキスト】,【列名1】,【列名2】...) |
Filter | 任意の条件で検索 | Filter(【テーブル名】,【検索条件】) |
LookUp | 任意の条件で検索(最初の1行のみ) | LookUp(【テーブル名】,【検索条件】 |