1月23日(金)1、2コマ目

今日、やったこと

リンク(<a>タグ)

Listクラスを使う

今日のホワイトボード

リンク(<a>タグ)

前回、クエリパラメータで検索条件を指定して検索した。

リンクのhref属性にクエリパラメータを含むURLを指定して、グループで検索できるようにした。

リンクは<a>タグで作成する。

図 リンク

Index.cshtml


Index.cshtml

前回のまま。


起動直後は以下のとおり。

図 起動直後

リンク”にぎりで検索”をクリックすると以下のとおり。

図 リンク”にぎり”をクリック

リンク”まきで検索”をクリックすると以下のとおり。

図 リンク”まき”をクリック

表形式でグループ情報を表示したい

以前は検索結果1行分で文字列作成して表示していた。これを表形式で表示したい。
図 表形式でグループ一覧を表示

表形式で表示するには、検索結果の各列の値を個別に扱う必要がある。
 各列の値を個別に扱いたい => Groupクラスを用意
 Groupクラスのインスタンスをまとめてあつかいたい
  => ×配列
    〇Listクラス
図 表形式で表示したい

Group.cs

Groupクラスは
 cs_グループマスタテーブルの情報を受け渡すためのクラス
 cs_グループマスタテーブル1行分 = 1インスタンス
で、C言語の構造体のようなクラス。


Listを使う

Listクラスは配列と同じように、複数のデータをひとまとめにして扱うことができる。

配列と異なり

  • 要素数を指定してエリアを確保する必要ない
  • 添え字をつかわなくてもいい(使うこともある)

がポイント。

図 Listクラスをつかう

GroupDAO.cs

cs_グループマスタテーブルアクセス用クラス。
SelectAll()メソッドには、キーワードstaticがついている。
 => インスタンス生成をしなくてもメソッド実行ができる。

検索結果を取得し、Groupクラスのインスタンス生成、Listに追加は以下のようになっている。

図 検索結果を取得、Groupクラスのインスタンス生成、listに追加

Index.cshtml.cs

GroupDAOクラスのSelectAll()メソッドでcs_グループマスタテーブルを全件検索。


Index.cshtml

Index.cshtml.csのGroupListプロパティにアクセスして、検索結果を取得、表示。


商品一覧表示

同じように、表形式でcs_商品マスタテーブル全件検索結果を表示。

図 商品一覧検索結果


Item.cs

商品情報を受け渡しするためのクラス。


ItemDAO.cs

cs_商品マスタテーブルアクセス用クラス。


Index.cshtml.cs


Index.cshtml



商品一覧(+グループ名)表示

下図のように、グループ名も表示したい。
図 商品一覧(+グループ名)

Group.cs

グループ一覧表示のときとおなじ。


Item.cs

GroupプロパティはGroupクラス型。

ItemDAO.cs

cs_商品マスタテーブルだけでなく、cs_グループマスタテーブルも結合する必要がある。
検索結果を取り出して、Itemクラスのインスタンスを生成する際、コンストラクタの引数groupには、Groupクラスのインスタンスを渡す。
図 Itemクラスのコンストラクタ実行

Index.cshtml.cs


Index.cshtml

ItemクラスのGroupプロパティからグループ名を取得する。
図 ItemクラスのGroupプロパティ経由でグループ名を取得

次回は

DBアクセス+クエリパラメータのテスト。






コメント

このブログの人気の投稿

1月22日(木)2コマ目

2月17日(火)3コマ目