【Power Apps】URL パラメーターを指定して SharePoint リストアイテムを表示する
URL パラメーターに SharePoint カスタムリストのアイテム ID を指定し、Power Apps で作成したフォームで表示する方法です。URL パラメーターに指定された値を取得するためには、Param 関数 を使います。
準備
SharePoint のカスタムリスト (例では、Announce リスト) でアプリを作成します。
パラメーターの有無で開くスクリーンを変更する
StartScreen プロパティ
App の StartScreen プロパティを設定します。
URL パラメーターがない場合は一覧画面 (BrowseScreen)、ある場合は詳細表示画面 (DetailScreen) が初期表示画面になるように設定します。
If(
IsBlank(Param("ID")),
BrowseScreen1,
DetailScreen1
)
パラメーターをグローバル変数に設定する
OnStart プロパティ
App の OnStart プロパティを設定します。
URL パラメーターがある場合にグローバル変数(_ID)に数値に変換した値を設定します。
If(
!IsBlank(Param("ID")),
Set(_ID, Value(Param("ID")))
);
Form コンポーネントに表示するアイテムを設定する
Item プロパティ
DetailScreen1 の DetailForm1 と EditScreen1 の EditForm1 それぞれの Item プロパティを設定します。
グローバル変数(_ID) が生成されていない場合は一覧画面 (BrowseScreen) のギャラリーで選択しているアイテムを指定し、ある場合は LookUp 関数でアイテムを取得するように設定します。
If(
IsBlank(_ID),
BrowseGallery1.Selected,
LookUp(Announce, ID = _ID)
)
カスタムリストからアプリのフォームを直接開く
列の書式設定を設定してビューからアイテムの詳細をアプリで開くように設定します。
準備
作成したアプリの [詳細] から Web リンク(URL) を取得しておきます。
列の書式設定
書式設定
{
"$schema": "https://developer.microsoft.com/json-schemas/sp/v2/row-formatting.schema.json",
"elmType": "a",
"txtContent": "@currentField",
"attributes": {
"target": "_blank",
"href": "='https://apps.powerapps.com/play/e/{環境 ID}/a/{アプリID}?tenantId={テナントID}&ID=' + [$ID]"
}
}