掲示閲覧アプリの解説
APP
Set(search_v,"全件表示");
「HOME」スクリーン
ギャラリー
Set(lodding_v,true); //ローディング画面の変数
Navigate(表示);
詳しくはこちらをご覧ください。
SortByColumns(
Filter(掲示板アプリ_マスタ,
process_status="公開中"||Dropdown1_1.Selected.Value=process_status, //表示ステータスの絞り込み
IsBlank(Dropdown1)||Dropdown1.Selected.タイトル=category, //カテゴリの絞り込み
IsBlank(Dropdown1_2)||Dropdown1_2.Selected.Value=approval_status, //承認ステータスの絞り込み
IsBlank(TextInput1)||Value(TextInput1.Text)=ID //IDの絞り込み
),
"view_date_start",SortOrder.Descending //掲示開始日時が新しい順で表示
)
閲覧済みの表示(テキストボックス)
IsMatch(【SharePointのリスト内部名】,User().Email,MatchOptions.Contains)
【SharePointのリスト内部名とUser().Emailが一致するときはtrueを出力します。
trueが出力されることでテキストボックスが表示されます。
今回はギャラリー内に設置しているため、ThisItemから始まる列を指定しています。
Lookupでも取得は可能です。
IsMatch(ThisItem.view_user,User().Email,MatchOptions.Contains)
絞り込みステータス
search_vを使用して文字列を置き換えています。
search_v
「検索」スクリーン
ドロップボックスとテキスト入力とボタンのみの設置です。
「表示」スクリーン
Set(file_link,Base64変換.Run(Gallery1.Selected.ID)); //Base64の変換のPower Automate実行
Set(lodding_v,false); //ローディング画面の変数
閲覧済みのボタン(ボタン)
UpdateIf(掲示板アプリ_マスタ,ID=Gallery1.Selected.ID,{view_user:Gallery1.Selected.view_user&”,”&User().Email})
SharePointの項目の追加とIFを兼ねそろえた関数です。
条件が一致するときに、User().Emailを追加していきます。
UpdateIf(
掲示板アプリ_マスタ,ID=Gallery1.Selected.ID,
{
view_user:Gallery1.Selected.view_user&","&User().Email
}
)
確認済みの表示とは逆にNotでtrueを出力します。
そのため、view_userにUser().Emailに一致する文字がない場合は、閲覧済みボタンを表示します。
Not(IsMatch(Gallery1.Selected.view_user,User().Email,MatchOptions.Contains))
閲覧済み解除のボタン(ボタン)
UpdateIf(掲示板アプリ_マスタ,ID=Gallery1.Selected.ID,view_user:Substitute(Gallery1.Selected.view_user,”,”&User().Email,””)})
SharePointの項目の追加とIFを兼ねそろえた関数にSubstitute関数を加えました。
条件が一致するときに、User().Emailを削除(空白に置換)していきます。
UpdateIf(掲示板アプリ_マスタ,ID=Gallery1.Selected.ID,view_user:Substitute(Gallery1.Selected.view_user,","&User().Email,"")})
確認済みの表示と同じでtrueを出力します。
そのため、view_userにUser().Emailに一致する文字がある場合は、閲覧済み解除ボタンを表示します。
IsMatch(Gallery1.Selected.view_user,User().Email,MatchOptions.Contains)
PDFビュアー(試験段階)
file_link.file