背景
Power Appsの「データから作成したアプリ」では、初期状態で「タイトル(Title)」列を基準に並び替えが設定されています。
この並び替え基準を任意の列(フィールド)に変更して、昇順・降順を切り替えられるようにします。
手順
- ギャラリーを選択
アプリの
BrowseScreen1にある一覧(例:BrowseGallery1)をクリックします。 - 昇順/降順アイコンを確認
右上にあるアイコン(例:
IconSortUpDown1)には、次のような式が入っています。UpdateContext({SortDescending1: !SortDescending1})これで、クリックするたびに昇順⇔降順が切り替わります。
- ギャラリーの「Items」プロパティを修正
デフォルトではタイトルで並び替えています。
これを特定の列で並び替えるように変更します。”内部列名”を変更します。SortByColumns( Filter(データソース名, StartsWith(Title, TextSearchBox1.Text)), "内部列名", If(SortDescending1, SortOrder.Descending, SortOrder.Ascending) )
内部名の確認方法
- SharePointリストを開く
- 右上の⚙️(設定) → 「リストの設定」
- 「列」一覧から対象の列(例:「入荷日」)をクリック
- URLの末尾を確認
フィールド名と内部列名の違い
| 種類 | 例 | 使う場面 |
|---|---|---|
| フィールド名(表示名) | 入荷日 | 画面表示やフォームでの参照 |
| 内部列名(内部名) | OData__x5165__x8377__x65e5_ | SortByColumns、GroupBy などで列名を文字列として扱うとき |
Power Appsは列名を“文字列”として扱う関数では内部名を探すため、見た目の名前ではなく内部名で指定する必要があります。
動作確認
- 昇順/降順アイコンをクリック
- 一覧が「入荷日」の古い順/新しい順に切り替わればOKです!
まとめ
- 並び替えは
SortByColumns()関数で制御する - 文字列で列名を指定する場合は内部名を使う
- 「OData__」付きの内部名が出るのは、Power AppsがOData経由でSharePointデータを扱っているため
