ホーム › フォーラム › Power Apps › アプリの作り方 › ThisItemについて
- このトピックには4件の返信、4人の参加者があり、最後にFumio Nakamuraにより4年、 10ヶ月前に更新されました。
-
投稿者投稿
-
2019-07-03 22:45 #4159::
フォーラム開設おめでとうございます。
一番乗りみたいで、嬉しいような、恥ずかしいような。
早速ですが、タイトルの件で質問させてください。【疑問点】
ギャラリーにコンボボックスを載せて、
そのコンボのonChangeイベントで、
ギャラリー名.Selected.’(バインドしているデータソースの)列名’
では動作しなかったものが、
ThisItem.列名
と書き換えると動くようになりました。
これはどういう理由(可能性)なのでしょうか?簡単なアプリは適当な理解でもソコソコのものが作れましたが、
規模がある程度になってくると、そうもいかないようです。https://docs.microsoft.com/ja-jp/powerapps/maker/canvas-apps/functions/operators#thisitem-operator
も読んではみましたが、私にはこれだけではわかりませんでした。どなたか解説いただけるとありがたいです。
2019-07-04 00:23 #4160Hiro #PowerAddictキーマスター::こんにちはNakamuraさん
「Gallery.Selected.列名で動作しなかった」というのはどういった結果だったのでしょうか?onChangeが発火しなかった/期待と異なる結果が得られた でしょうか?ThisItemはギャラリーの場合、Galleryのitemsプロパティに設定されたテーブルの各行を指します。
「このレコードの」と読み換えるとしっくりくるかもしれません。
一方でGallery.Selectedは、「ギャラリーで選択されたレコードの」になります。
例えばGallery.Selectedを使うなら明示的にそのレコードを選択すれば良いかと思います。
onSelectにSelect(Parent)と入れてみるとうまく動くかもです。2019-07-04 06:22 #4161Minaキーマスター::Nakamuraさん、こんにちは!
ThisItemとParentというキーワードが出てきたので、もしそれらをわかりやすく理解されたいのでしたら、こちらの記事がおすすめです。PowerApps の特殊なシンボル Parent と ThisItem を知っておく
ご参考になれば幸いです!
2019-07-05 22:37 #4177MakotoMaeda参加者::ご質問ありがとうございます!一番乗りいいですね!
考え方的には、ThisItem.でやるのが最適解と思います。私ならそうします。
Selectedでもイメージ的におんなじじゃんと私も思いますが、多分王道はThisItemの方かなと。感覚的に。(仮にうまく動いていたとしても)Selectedでできない理由は正しい使い方をしていないのと、ギャラリーのOnSelectやらコンボボックスのOnSelectやらSelectedの切り替えの処理やらが干渉してうまくいかないんじゃないかと。そういう仕様なんだと思います。
ご質問の場合でしたらThisItemを使用するのが100%正しいと思います。あと、最初に早とちりしてThisItemとSelectedの違いをふわっと書いてしまったのでついでに載せときますね・・・
——————————-おまけ–ThisItemとSelectedの違い———————————–
まずギャラリーコントロールにはItemsプロパティを設定して、表示するテーブルを指定しますよね。
つまり、ギャラリーは”Item”がいっぱい詰まってるわけです。Itemsですから。1行目の”Item”
2行目の”Item”
3行目の”Item”
とあるわけですね。ThisItemについてですが、この1行目2行目3行目それぞれが”俺のItem”を見ているんですね。
1行目が”俺のItem”といったら1行目のデータを表しますし、
3行目が”俺のItem”といえば、3行目のデータを表すわけです。Selectedプロパティはそのまま、「そのギャラリーコントロールで選択された項目」を指すものです。
これはイベントではなく、最後にクリックしたものがずっと参照されています。これは1行目が見ても2行目が見ても変わらないですね。
最後に選んだのが3行目なら、1行目だろうが2行目だろうが3行目だろうが
“最後に選んだのは3行目だ!”となって、3行目のデータを参照してくれるわけです。このように、ThisItemとSelectedは用途として明確に異なっています。
2019-07-08 15:50 #4180 -
投稿者投稿
- トピック「ThisItemについて」には新しい返信をつけることはできません。