今回は、商品一覧の表示をストライプ表示(行の色を交互に変える表示)にする方法を解説します。
現在の表示を確認する
現在、商品一覧の画面はすべての行が白色で表示されており、行の区切りがやや分かりにくい状態になっています。
図1 現在の商品一覧画面(全行が白色)
この表示を担当しているのはProductPage.razor内のtable要素です。現在のclass属性にはBootstrapの標準クラスであるtableのみが指定されています。
図2 変更前のtable要素(class=”table”)
table-stripedクラスを追加する
class属性の値を編集し、tableの後ろにスペースを入力すると、Visual StudioのIntelliSenseによってBootstrapが用意しているtable関連のクラス候補(table-responsive-md、table-responsive-sm、table-secondary、table-smなど)が一覧表示されます。
図3 class属性入力時に表示されるIntelliSenseの候補一覧
この候補の中からtable-stripedを選択します。これがBootstrapで行の背景色を交互に変える(ストライプ表示にする)ためのクラスです。
図4 候補一覧からtable-stripedを選択
選択すると、class属性は以下のようにtable table-stripedという2つのクラスが半角スペース区切りで指定された状態になります。
<table class="table table-striped">
<thead>
<tr>
<th>商品ID</th>
<th>商品名</th>
<th>価格</th>
</tr>
</thead>
図5 変更後のtable要素(class=”table table-striped”)
動作を確認する
この状態で画面を確認すると、行の色がわずかに交互に変わっていることが分かります。ただし、今回のサンプルデータは3件しかないため、色の違いがやや分かりにくくなっています。
図6 table-striped適用後の表示(データ3件)
データを増やして分かりやすくする
ストライプ表示の効果をより分かりやすく確認するため、OnInitializedAsync内で_products.Addしている行をコピーして貼り付け、表示するデータの件数を増やします。
await Task.Delay(3000); _products = new List<ProductEntity>(); _products.Add(new ProductEntity(100, "p100", 1000)); _products.Add(new ProductEntity(200, "p200", 2000)); _products.Add(new ProductEntity(300, "p300", 3000)); _products.Add(new ProductEntity(300, "p300", 3000)); _products.Add(new ProductEntity(300, "p300", 3000)); _products.Add(new ProductEntity(300, "p300", 3000)); // 以下、同様の行をコピーして追加
図7 _products.Addの行をコピーしてデータ件数を増やす
データ件数を増やして再度画面を確認すると、行ごとに背景色が交互に切り替わっている様子がはっきりと確認できます。
図8 table-striped適用後の表示(データ件数を増やした状態)
まとめ
一覧表示の行を色違いのストライプ表示にしたい場合は、table要素のclass属性にtable-stripedを追加するだけで実現できます。Bootstrapが用意している他のtable関連クラスと同様にclass属性へ追記するだけで適用できるため、ぜひ試してみてください。
A01_はじめに
A02_バージョンの確認
A03_プロジェクトの作成
A04_アプリの実行
A05_サンプルプログラムの構成
A06_Razorコンポーネント
A07_Razor構文
A08_@pageでURLを指定する
A09_@rendermode
A10_PageTitle
A11_HTMLの見出し
A12_pタグ
A13_単方向データバインド
A14_単方向データバインドの詳細
A15_Bootstrap
A16_ボタンクリックイベント
A17_イベント引数の受け取り方
A18_ここまでのまとめ
B01_新しいWebページを追加する方法
B02_サイドバーから画面を表示する
B03_サイドバーのアイコンを変更する方法
B04_計測値を表示する
B05_変数に置き換える
B06_最新の値でデータを更新する
B07_@usingで通常のC#コードを呼び出す
B08_画面遷移_aタグ
B09_画面遷移_aタグの見た目をボタンにする
B10_画面遷移_NavigationManagerでの遷移
B11_画面間のパラメータの受け渡し方法
B12_EscapeDataStringでエスケープする
B13_複数のパラメータを渡す
B14_任意のパラメータにする
B15_string以外の型をパラメータで使う方法
B16_DateTime型をパラメータで渡す方法
B17_引数2個のURLも型指定に変更する
B18_パラメータ属性をつけるときの注意点
B19_OnParametersSet
B20_OnInitialized
B21_OnInitializedが2回通る問題の対応
B22_ブラウザが開いている間の値を記憶する方法
B23_値の受け渡しとしてのProtectedSessionStorage
B24_非同期を想定したUIの制御
C01_一覧表示
C02_非同期での一覧表示
C03_table-striped
D01_入力エリア
D02_双方向データバインド
D03_入力データをリアルタイムで通知する方法
D04_placeholder
D05_入力エリアの横幅の調整
D06_テキストチェンジイベントを拾う方法
D07_プルダウン
D08_プルダウンのbootstrap
D09_プルダウンの選択している値をデータバインドで操作する
D10_プルダウンにリストの値を表示する
D11_プルダウンに未選択行を入れる
D12_プルダウンの入力を禁止する
D13_プルダウンのチェンジイベントを取得する
D14_チェックボックス
D15_チェックボックスにラベルを付ける
D16_複数のチェックボックスを並べる
D17_ラジオボタン
D18_ラジオボタンのデータバインド
D19_ラジオボタンのチェンジイベント
D20_ラジオボタンにbootstrapを適応する