この特集のトップページへ
Chapter 7:プレゼンテーション層の構築

7.4.3 顧客の一覧参照
●表示列を設定する

○リストボックスにデータグリッドの全列を表示するメソッド
 フォームを構築したならば,次に各処理を実装してゆく。

 まずは,リストボックスにデータグリッドに登録されている全列を表示するプロシージャを実装する。ここでは,引数にデータグリッドをとり,そのデータグリッドに含まれる全列をリストボックスに表示するSetColumnという名前のプロシージャをList 7-21のように実装する。

 List 7-21では,まず7行目でLIST_GRIDCAPTIONリストボックスのClearメソッドを呼び,リストボックスの中身を空にする。そして,9〜12行目のループで引数として受け取ったデータグリッドに含まれる全列のデータをLIST_GRIDCAPTIONリストボックスに登録するという処理をしている。

 データグリッドに含まれる列の総数はデータグリッドのColumnsコレクションのCountプロパティで参照できる。9行目では,これをForNextのループ回数として指定することで,データグリッドの全列に対するループ処理をしている。

 列のキャプションは,Columnsコレクションの列の番号目の要素であるColumnオブジェクトのCaptionプロパティを参照することで取得できる。10行目では,“LIST_GRIDCAPTION.AddItem objGrid.Columns(i).Caption”とし,objGrid変数が指すデータグリッドのi番目の要素(列)のキャプションをLIST_GRIDCAPTIONリストボックスの要素として加えるという処理をしている。

 11行目は,リストボックスに登録された列を選択状態にするか,非選択状態にするかを設定している。ColumnオブジェクトのVisibleプロパティは,その列が可視であればTrueを,不可視であればFalseを保持するプロパティである。それをLIST_GRIDCAPTIONリストボックスのSelectedコレクションに設定することで,LIST_GRIDCAPTIONリストボックスに表示される列が表示状態であれば選択状態として,そうでなけば非選択状態として,それぞれ表示されることになる。Table 7-9に示したように,LIST_GRIDCAPTIONリストボックスのStyleプロパティはチェックボックスとした。よって,列が選択状態で表示されるということは,チェックが付いた状態で表示され,非選択状態で表示されるということは,チェックが付かない状態で表示されるということを意味する。

 最後の14行目の処理は,引数として受け取ったデータグリッドをグローバル変数g_objGridに保存するというものである。グローバル変数g_objGridは1行目で宣言してある。ここで保存したデータグリッドは,すぐあとの処理で用いる。

prevpg.gif Chapter 7 22/65 nextpg.gif