技術情報ブログ
Power Platform
2022.05.25

Power Apps キャンバスアプリで動的リストを作る方法|先頭・末尾追加と番号振り直しの実装

Power Apps キャンバスアプリで動的リストを作る方法|先頭・末尾追加と番号振り直しの実装

💡 この記事でわかること

Power Apps キャンバスアプリで行の追加・削除ができる動的リストを実装する方法を解説します。コレクション(colProduct)を使ったレコード管理の具体的なコードと、削除後のNo(連番)の振り直し処理まで確認できます。

  • コレクションにレコードを先頭・末尾に追加するCollect / UpdateIf関数の使い方
  • 対象レコードを削除しつつ連番を自動で振り直すRemoveIf + UpdateIfの実装
  • 動的リストを構成するテキスト入力・追加アイコン・削除アイコンのパーツ構成
この記事を書いた人
小刀稱知哉

小刀稱 知哉ことね ともや

SharePoint Power Platform全般 Copilot Studio 技術アドバイス・教育支援

Power PlatformやSharePointを中心に設計・開発・アドバイス・教育まで幅広く担当しています。内製化をご希望の場合はお気軽にお問い合わせください!

2025 Microsoft MVP(Power Apps・Power Automate)
PL-200 PL-300 PL-400 PL-600 MS-700 AZ-104 AZ-305 SC-200 SC-100

Power Appsの動的リストとは、ユーザーが画面上で行を追加・削除でき、リアルタイムにリストが更新されるUIコンポーネントのことです。SharePointリストへの保存と組み合わせることで、柔軟な入力フォームを実現できます。本記事ではコレクションを使った実装方法を紹介します。

Power Apps での動的リスト・コレクション操作の実装でお困りの場合は、ぜひアーティサンにご相談ください。

X-SP Feature | SharePoint 拡張機能サービス
X-SP Feature | SharePoint 拡張機能サービス
詳しく見る →
X-SP Design | SharePoint デザイン拡張サービス
X-SP Design | SharePoint デザイン拡張サービス
詳しく見る →
SharePoint伴走パートナーサービス
SharePoint伴走パートナーサービス
詳しく見る →
SharePoint 構築支援サービス
SharePoint 構築支援サービス
詳しく見る →
官公庁DX支援サービス
官公庁DX支援サービス
詳しく見る →
内製化支援サービス(Power Apps・Power Automate・Copilot Studio)
内製化支援サービス(Power Apps・Power Automate・Copilot Studio)
詳しく見る →
Power Apps・Power Automate 導入支援サービス
Power Apps・Power Automate 導入支援サービス
詳しく見る →

MSクラウドに関するご相談・お問い合わせはこちら

お問い合わせフォームへ

目次

準備

レコードの追加機能

レコードの先頭に追加

レコードの末尾に追加

レコードの削除機能

さいごに

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

今回はPower Apps キャンバスアプリ上で動的リストを実装する方法について紹介します。
機能は以下動画をご覧ください。

使用する場面も多い機能だと思いますので、実装方法の1つとして参考にしてください。

内容としては、Power Appsでアプリを作成している方に向けた記事です。

準備

今回はコレクション(colProduct)を用いて実装します。

コレクションの型は以下の通りです。

No(数値):各レコードのNo
製品名(文字列):製品名
コレクション(colProduct)
コレクション(colProduct)

また、下記画像を参考にしてPower Apps キャンバスアプリ上で各パーツを追加してください。

パーツ
パーツ

ポイントのパーツは以下です。

  • テキスト入力:製品名を入力します

  • アイコン():レコードを追加します

  • アイコン(ゴミ箱):対象レコードを削除します

それでは、動的リストを実装していきましょう。
以下機能の実装方法について説明します。

レコードの追加機能

アイコン(の実装方法です。

製品名を入力し、アイコン(を押下すると、レコードがコレクションに追加されるようにします。

レコードを追加する際には、先頭もしくは末尾に追加する方法があります。
それぞれについて説明します。

レコードの先頭に追加

アイコン(のOnSelectプロパティに以下を記載します。
※txtProductは製品名を入力している「テキスト入力」パーツです。

// コレクションの先頭にレコードを追加
UpdateIf(colProduct, true, { No: No+1 });              // 各レコードのNoを+1
Collect(colProduct,{ No: 1, 製品名: txtProduct.Text}); // No.1のレコードを追加
コレクションの先頭にレコードを追加
コレクションの先頭にレコードを追加

ポイントとしては、UpdateIf(colProduct, true, { No: No+1 })の部分です。

UpdateIf 関数を用いて、各レコードのNoを+1しています。
その後、Noを1に設定したレコードを追加しています。

UpdateIf 関数については、以下を参照してください。
Power Apps の Update および UpdateIf 関数

レコードの末尾に追加

アイコン(のOnSelectプロパティに以下を記載します。
※txtProductは製品名を入力している「テキスト入力」パーツです。

// コレクションの末尾にレコードを追加
Collect(colProduct,{ No: Max(colProduct,No) + 1, 製品名: txtProduct.Text}); // Noの最大値+1のレコードを追加
コレクションの末尾にレコードを追加
コレクションの末尾にレコードを追加

ポイントとしてはMax(colProduct,No) + 1の部分です。

Max 関数を用いて、コレクションのNoに関する最大値を取得します。
その後、最大値 + 1のNoを設定したレコードを追加します。

Max 関数については、以下を参照してください。
Power Apps の Average、Max、Min、StdevP、Sum、および VarP 関数

レコードの削除機能

アイコン(ゴミ箱)の実装方法です。

アイコン(を押下すると、レコードがコレクションから削除されるようにします。
アイコン(のOnSelectプロパティに以下を記載します。

With( { thisNo : ThisItem.No },                     // 対象レコードのNoを取得
    RemoveIf(colProduct, No = thisNo);              // 対象レコードを削除
    UpdateIf(colProduct, No > thisNo, {No : No-1}); // 対象レコード以降のNoを-1
)
コレクションからレコードを削除
コレクションからレコードを削除

With 関数を用いて実装している部分がポイントです。

With 関数については、以下を参照してください。
Power Apps での With 関数

RemoveIf 関数でThisItemのレコードが削除されると、Power AppsではThisItemが示すレコードが自動的に更新されます。
よって、RemoveIf 関数の後にThisItemを用いる場合は、想定している値とは異なることがあるので、注意が必要です。

今回は、With 関数を用いることで、RemoveIf 関数実行前のThisItem.Noの値を変数に格納しています。
これにより、RemoveIf 関数の後でも、想定している値を用いることができます。

さいごに

本記事では、Power Apps キャンバスアプリにて動的リストを実装する方法についてご紹介しました。

使用する場面も多い機能だと思いますので、ぜひご一読ください!

Power Apps を使ったアプリ開発を内製化したい企業さまには、アーティサンの内製化支援プログラムもご活用いただけます。

X-SP Feature | SharePoint 拡張機能サービス
X-SP Feature | SharePoint 拡張機能サービス
詳しく見る →
X-SP Design | SharePoint デザイン拡張サービス
X-SP Design | SharePoint デザイン拡張サービス
詳しく見る →
SharePoint伴走パートナーサービス
SharePoint伴走パートナーサービス
詳しく見る →
SharePoint 構築支援サービス
SharePoint 構築支援サービス
詳しく見る →
官公庁DX支援サービス
官公庁DX支援サービス
詳しく見る →
内製化支援サービス(Power Apps・Power Automate・Copilot Studio)
内製化支援サービス(Power Apps・Power Automate・Copilot Studio)
詳しく見る →
Power Apps・Power Automate 導入支援サービス
Power Apps・Power Automate 導入支援サービス
詳しく見る →

MSクラウドに関するご相談・お問い合わせはこちら

お問い合わせフォームへ

 

こちらも合わせて読みたい

Microsoftクラウド関連

シェアする
記事カテゴリ
最新記事
2026.06.24

カスタムスクリプト不要!SharePointでHTMLファイルを表示する方法|X-SP Feature(第5回)

2026.06.17

GA4・Clarity・GTMでSharePointのアクセス解析を行う方法|X-SP Feature(第4回)

2026.06.10

SharePointのアクセスランキングでよく見られるコンテンツを可視化する方法|X-SP Feature(第3回)

2026.06.03

SharePointの未読・既読を一目で管理できるアドオン紹介|X-SP Feature(第2回)

2026.05.27

SharePointリストで複数行テキストを全文表示する方法|X-SP Feature(第1回)

SharePointEF CoreMarker Clusterer中級者DXインポート自動化したクラウドフロー構築デザインフロー実行ドキュメント ライブラリ市民開発登録者X-SPNFCタグエンゲージメントMultilingualデータ移行実運用官公庁システム画像挿入プロジェクト作成ユニークキーMVP共有設定ソリューションエクスポート整数GA4ExcelマイグレーションRANK()関数キャンバスアプリノウハウカスタマイズ委任自動化したクラウド フロー運用開発環境filter query管理システム列StyleDLPポリシー地方自治体MLJSON書式保守性デジタル化推進複数レコードPCFギャラリー一意制約技術支援情報漏洩対策権限管理データ型Microsoft ClarityPower AutomateFramework CoreDynamics 365 SalesDatePicker情報技術componentVBAフローの種類選択肢列環境sortガバナンス登録日StudioTestCopilot Studiot共有リンクテンプレート化DX推進テーマカラーPDF変換業務システムURLパラメータ技術ブログ 書き方コマンドバーカスタマイズ組織変更X-SP FeatureGTMC#Attribute directivesMicrosoft TranslatorDropdownメッセージIDダイアログエラーインスタント クラウド フロー参照列本番環境ソートerror notification更新者AICanvas自治体DXレポート化サイト複製作り方ダークモード資料自動作成キャンバスアプリ 違いメンテナンスモードエンジニア ブログ メリットSharePoint管理センター注文管理アプリ見逃し防止アクセス解析attributeO/Rマッパーマーカークラスタリングライブラリviewメールコンポーネントエクセルスケジュール済みクラウド フローChatGPTライセンスmultiple itemエラー通知更新日生成系AITest Studio生成AI自治体APIPnP PowerShellページ承認Formulasプロパティフロー設計Power Apps 導入並べ替えブログ 継続 コツDLPサブグリッド未読Google Tag Managervalidationazure sql databasetailwindcssビューfirst()関数dialogerrorレスポンシブ レイアウトOpenAI環境構築手順複数項目削除変更Copilotテスト事例HTTP リクエストカスタムスクリプトドキュメント管理カラーセットテンプレート活用Power Apps 比較ヘッダー非表示技術力向上権限管理ベストプラクティスDataverse テーブル既読タグ埋め込みローコードCase式マルチテナントアクセス制限nestTips復元responsive layoutオープンAIpipelineシェアポイントフォルダ外部DBlicenseテストスタジオ活用ワーケーション業務効率化IT管理カラーユニバーサルデザイン自動化事例モデル駆動型 とはリスト フィルタ文章力 鍛え方野良権限部署全文表示サイトの利用状況AngularHTTP Requestドロップダウンメニューノーコード入れ子新機能restoreデータ行の制限チャットGPTCI/CD便利機能ゴミ箱連携添付ファイルコントロール使い方サイトブランド化名古屋ファイル保存申請システムアプリデザインNode.jsシステム構築便利アウトプット 重要性Teams ファイル共有リレーションシップ閲覧数ヒートマップAccessCSSBreakpointObserver承認動的リスト変数Power BI引き継ぎgalleryパイプラインカレンダー完全削除接続ファイルサイズ基本知識フォントカスタマイズ体験記エンティティワークフロー自動化UI/UXVisual Studio CodeAlternate Key野良アプリ対策IT エンジニア 転職OneDrive1対多アクセスランキングSharePoint アドオンInfoPathxUnitメディアクエリリマインドcollection検索個人列退職ギャラリーDevOpsCalendarモデル駆動型データフローフルリモートワークPowerAutomateブランドセンター感想フォルダ構成設定アクセシビリティPCF代替キーCoEブログ モチベーションつながり参照多対多コンテンツ活用HTMLファイル表示MatTable.Net Core 3.1スマホSetコレクションMicrosoft 365グループユーザー列所有者を変更スクロールMicrosoft 365Teamsセキュリティロールrecycle binアーティサンX-SP Designテーマ作成チームサイトMicrosoft Learn Docsアジャイル開発Wordテンプレート環境構築重複チェック内製化コンサルティングネタ切れ 対策システムカスタマイザーER図強調表示されたコンテンツx-sp-feature-seriesAngular MaterialVSCodePCForAll複数の添付ファイルセキュリティグループSharePoint Online異動コンテナ簡易在庫管理ローコード開発ビジネスルールアクセス許可Artisanスライドショーデザイン拡張コミュニケーションサイトカスタムコネクタ準委任契約業務自動化カスタムコンポーネントGUIDITサポートAI ブログ 活用Connection Reference入門編UUデータ構造.Net Core Test ExplorerレスポンシブUpdateContext承認フロー送信元リストLoopショートカットキー時間外非エンジニアDataverseSharePoint Framework転職Slide showMicrosoft365サイトの種類OpenAPI請負契約効率化Power Platform CLI業務キー月額定額PV数 増やす共同所有者1行テキストPVモデル駆動型アプリSortByColumns関数Dataverse for TeamsDynamics 365ロードマップフォームメールの送信非表示Microsoftshortcut key通知体験談JavaScriptSPFx主キー比較移行要件定義MCPサーバー総合評価型入札資料作成開発手順複合キー委任問題権限トラブル主要な所有者複数行テキストWebパーツPower AppsTypeScriptitem関数入門技術form差出人アプリdesignconcat関数ファイル勉強表示サンプルCopilot Studio社内ポータル多言語化サイト構成FAQエージェントデジタルトランスフォーメーション初心者向け拡張機能データ整合性Delegationアクセス権限環境変数選択肢閲覧数可視化Power PlatformHTMLGoogle Maps初心者Itエクスポートインスタントクラウドフロー[市民開発者JSON文字制限フィルター クエリ内製化切替samplePowerAppsグループウェアMUI権限設計AIチャットボットプロポーザル方式ハウツービルドデータベース設計サブスクリプション型支援ファイルパスクラシック画面日付Google Analytics
PageTop
ページトップに戻る