LoginSignup
6
6

PowerAppの逆引き数式シート

Last updated at Posted at 2021-12-20

概要

これはPowreAppでやりたいことから、逆引きしてその方法(数式)をまとめたチートシートです。

グローバル変数を設定したい

Set(
    inputGuestUserId, #変数名
    userid_input.Text #テキストボックス.テキスト内容
);

一致するものがあるかデータから検索する

これを見たら詳しく記載があります。
https://docs.microsoft.com/ja-jp/powerapps/maker/canvas-apps/functions/function-filter-lookup

例)
            LookUp(
                develop_UserList, #データ名
                user_id = GuestUserID #データの列名 検索するデータ
            )

エラーメッセージを通知する

詳しく
https://docs.microsoft.com/ja-jp/powerapps/maker/canvas-apps/functions/function-showerror

    Notify(
        "ユーザーIDの登録がありません", #メッセージ内容
        NotificationType.Error #エラーの種類
    )

画面遷移

Navigate(GuestUserOderTop_Screen,ScreenTransition.Cover) #Navigate(スクリーン名,移動時のアニメーション)

表示するリストの一部だけ表示する

    Filter(
        develop_menuList, #データ名
        invaid = false #条件(今回はinvaidがfalseのものを表示)
    )

表示するリストの順番を変える

Sort(
   devlop_menuList # データ名
    ),
    menu_date, #データの列名
    If(
        SortDescending1,  #変数にTrueかFalseが入っている
        Descending, #降順
        Ascending #昇順
    )
)
Sort([データ名],[データの列名],[降順か昇順か(Descending,Asending)])

表示するリストの降順と昇順を切り替える

UpdateContext({SortDescending1: !SortDescending1})

データの再読み込みをさせたい

Refresh([@develop_menuList])

新しいデータを登録したい

SubmitForm(OderEditForm)

フォームに対してデータを送ると考えてください

Timerを使ってアニメーションさせたい

TimerはStartやResetのオプションを細かく設定しないと、うまく動作しません。
そのためSetを使って変数を用意してください。参考:色を変化させて変わった感を出す例

varTimerR = Resetオプションの変数
varTimerS = Startオプションの変数

スタート時:
スタートさせるボタン等のOnSelect
Set(varTimerR, true);
Set(varTimerS, true)

カウントン中変化させたい値:
TimerのDurationを1000(1秒)に設定しています

表示させているGullaryなどのFillオプション等
RGBAの変化で色の変化を演出
RGBA(10,10,10,0.2 - Countdown.Value/1000)

カウント終了時:
TimerのOnTimerEnd
Set(varTimerS ,false);
Set(varTimerR,false)

入力されているテキストボックスなどを初期値にしたい

Reset([要素]);

ローカル変数を作成したい

UpdateContext({CountT:0});
//CountTという変数を0に設定しています

有効化無効化

DisplayMode.Edit //有効化(編集可能)
DisplayMode.View //みるだけ
DisplayMode.Disable //無効化

リストのアイテムを作成してから、Patchで新規のアイテムをリストに追加する

先にClearCollectで作成することで、UID(アイテムの固有のID)を取得することができるのです。

ClearCollect(CreateRcord,
    Patch(list,
        Defaults(list),{
            'user_e-mail':User().Email,
        }
    )
);

Patch(inq_list,
    Defaults(inq_list),{
        inquiry_id: First(CreateRcord).id
    }
);



6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6