Microsoft Lists を使用して作成されたリスト内で列のステータスに基づいてアプリ画面をカスタマイズする
この記事のシナリオでは、リスト内部の列のステータスに基づいてアプリ画面をカスタマイズする方法について学習します。 サポートされているリストまたはライブラリのフォームをカスタマイズしたり、リストまたはライブラリのアプリを作成することもできます。
SharePoint オブジェクトへのアクセスを制限するには、SharePoint 内の詳細な権限を使用します。 ただし、特に異なるデバイスを使用している場合などは、アプリ画面のすべての項目をスキャンするのが難しくなる可能性があります。
アクセス権限を使用してアクセスを制限するのではなく、列のステータスに基づいてキャンバス アプリ画面のアイテムをいかに制御するかなどが、最も一般的な問題の 1 つとして挙げられます。
この方法では、複数の画面を作成して、列の状態に基づいてさまざまな SharePoint オブジェクトを表示することができますが、同時に権限をカスタマイズしたり、リスト全体でアプリ ユーザーを圧倒することはありません。
前提条件
- リストに接続する SharePoint コネクタを使用して、アプリを作成する必要があります。
- アプリにアクセスできる 2 つのユーザー アカウント と SharePoint リストをホストするサイトが必要です。
- リストとリスト/アイテムのアクセス許可の設定方法についての知識が必要です。
シナリオの詳細
SharePoint からの特定の列に対して フィルタ― 機能を使用し、特定の条件でフィルターを適用できます。 このアプローチでは、フィルター処理されたリストの項目で複数の画面を設定できます。
たとえば、すぐに使用できる SharePoint アプリ テンプレート 問題追跡 に基づいて、問題追跡という名前のリストを作成しました。 そして、アプリの画面に アクティブ な問題のみを表示するアプリを作成したいとします。
例
標準機能の SharePoint アプリ テンプレート 問題の追跡 に基づいてリストを作成します。
問題アイテムのいくつかのサンプルを作成します。
問題アイテムに アクティブ と 終了済み アイテムの両方があることを確認します。
このリストをユーザー (例えば、Kenny Smith) と共有します。
リスト ページから、統合 -> Power Apps -> アプリの作成を選択します。
あなたはスタジオ内のアプリに記載されているすべての問題を見ることができます。
サンプル リストには 2 つの項目しかありません。 ただし、問題数が増えると、特にアクティブな問題のみを表示することが目的である場合などは、すべての問題をスキャンまたは検索するのが困難になります。
既定で BrowseGallery1 という名前のアイテム ギャラリーを選択します。
デフォルトの Items プロパティの式を更新して、問題のステータスに対するフィルター基準を含めます。
既定値:
SortByColumns(Filter([@'Issue Tracking'], StartsWith(Title, TextSearchBox1.Text)), "Title", If(SortDescending1, Descending, Ascending))
更新先:
SortByColumns(Filter('Issue Tracking', 'Issue Status'.Value = "Active", StartsWith(Title, TextSearchBox1.Text)), "Title", If(SortDescending1, Descending, Ascending))
式には次の関数が含まれます:
- 列をソートする SortByColumns。
- アイテムをフィルター処理する Filter。
- StartsWith は、上部の検索ボックスに入力したテキストに基づいて検索できるようにします。
- If は、並べ替えアイコンの選択に基づいて項目を並べ替えます。
アプリを 保存して公開 します。
別のユーザーと アプリを共有 します。 例、Kenny Smith。
アプリを共有したユーザー (この例では Kenny Smith) としてアプリを実行します。
同様に、終了済み 問題をすべて表示するための別画面など、列の値に基づいてアプリでさまざまな画面を使用できます。
関連項目
- Power Apps の 数式のリファレンス
- Power Apps の コントロールのリファレンス
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。