Power Appsを使っていると、たまーに予期せぬ動きをして、思った通りの動作にならないことがある。
今回はDataTableを使っていたときに委任警告を無視した結果、予期せぬ動きをされてバグを生んでしまったときのお話。
準備
例えばこういうリストがあって
これをDataTableで表示
詳細っぽいアイコンを押すと詳細画面に移動して、
詳細画面で鉛筆ボタンを押すと編集画面に遷移、
Formを使って、DataTableで選択しているアイテムを編集できて
編集が成功すると詳細画面へ戻る、というだけの簡単な仕組み
動かしてみる
まずは普通に動かしてみる。YOU2を選択して詳細へ
詳細から編集へ
評価を「7」に変えて、更新!
いい感じ。
バグっぽい動作になったときの再現
では今日の本題、バグっぽくなったときの動作。
DataTableに表示するYOUを「A型かO型」だけにしたい!となったとき、なんやかんやあって「in」を使うことにした。
すると「委任」の警告が出てしまうけど、たくさんレコード数のあるデータを使う予定はなかったので、ひとまず無視。
そして再度動作確認。YOU3を選んで
YOU3の評価を6から4に下げるため、編集へ
4に変えて更新!
ファッ!? (゜Д゜;) 評価が上がってる。。。
というか、よく見てみるといつの間にかYOU2になってる。。。
ということで一覧に戻ると、YOU3の評価は4になってるけど、DataTableの選択が先頭に戻っている。。。
きちんと見ればわかるんだけど、しばらく「なんで更新されないんだろう。。。」と混乱してしまった。。。
委任警告が出ているデータを更新したとき、ひょっとしたら毎回データを全て取り直してるのかな?と思う出来事で、やっぱり委任警告は無視するべきじゃないなと思わせてもらいましたとさ。
余談:SPOリストだとinは委任できない。。。
下の公式サイトだとFilter関数の「in」は委任できるよ、って書いてあるんだけど、どうやらSPOリストだとだめらしい。。。
コメント