0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PowerAppsでHTMLを使う①:なぜLabelをやめてHTMLテキストにしたのか

0
Last updated at Posted at 2026-07-10

背景

PowerAppsのCanvasアプリは、ふだんLabelなどのコントロールを画面に配置して作ることが多いと思います。僕も商品カタログアプリを作っていて、基本はこの方法でした。

作っていたのは、こんなイメージのアプリです(下はダミーデータのサンプル画面です)。

app_ui_variants.png

ただPowerAppsにはHTMLテキストというコントロールがあって、HtmlTextプロパティにHTML文字列を渡すと、そのHTMLがそのまま描画されます。今回初チャレンジでしたが、表示の一部をこれで作ることにしました。

課題

理由は2つあります。

1つ目は、サイズ×カラーのバリアント一覧画面で、表示するアイテム数が多いと、操作しているうちにアプリが強制再起動してしまう問題です。原因は、高さが伸縮するギャラリーの各行にLabelを大量に並べていて、行あたりのコントロール数が多く、描画・メモリの負荷が大きかったことでした。

2つ目は、税込・税抜価格の表示です。税込をメインで大きく、税抜を控えめに併記したかったのですが、Labelを並べる方式だと、この「主従」の表現が地味にやりにくいんですよね。

対応方法

Claudeの提案をもとに、表示内容をHTMLテキストにHTML文字列としてまとめる方針にしました。HTMLはPower Fxの&(文字列連結)で組み立て、色や値はWith()で先に変数化してから差し込んでいます。見た目(色・サイズ・太さ・配置)は、すべてインラインCSSで表現しました。

実装と動作確認は、PowerApps Studio上で僕が行いました。

control_reduction.png

結果・感想

バリアント一覧のほうは、1行分の複数のLabelを「HTMLテキスト 1つ+透明ボタン1つ」に統合し、行あたりのコントロール数を大きく減らせました。価格表示のほうも、CSSを使うことで主従の見せ分けが自然にできました。

まとめ

今回は、HTMLテキストを使うことにした背景を書きました。次回から、実際に書いたHTML式を題材に、divspantableといったHTMLの基本要素を見ていきます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?