|
.NET TIPS ListViewコントロールへ項目を追加するには?デジタルアドバンテージ 一色 政彦2005/02/04 |
![]() |
|
|
|
本稿では、.NET Frameworkの標準コントロールであるListViewコントロール(System.Windows.Forms名前空間)を活用するために、ListViewコントロールにデータを追加する方法を紹介する。
ListViewコントロールはデータ項目をアイコン表示や詳細表示などにより一覧表示するためのもので、Windowsのエクスプローラでもおなじみのコントロールだ。その表示スタイルとしては、次のような4種類が用意されている。
![]() |
![]() |
||
| ListViewコントロールの4つの表示スタイル | |||
| 左から順番に、「大きなアイコン」(LargeIcon)、「小さなアイコン」(SmallIcon)、「一覧」(List)、「詳細」(Details)という表示になっている。詳しくは、MSDN「View列挙体」を参照してほしい。 | |||
詳細表示では、1つのデータ項目につき複数の種類の情報を列ごとに表示できる。各列の値によりデータ項目の並べ替えも可能だ。
ListViewコントロールのヘッダ項目の作成
ここでは、ListViewコントロールへ実際のデータを追加する前に、まずListViewコントロールのヘッダ項目を作成しておこう。
なお、上記4種類の表示スタイルのうちヘッダ項目が表示されるのは、ListViewコントロールのViewプロパティが「View列挙体(System.Windows.Forms名前空間)のDetails(=詳細表示)」に設定されているときのみである。
ヘッダ項目を作成するには、ListViewコントロールのColumnsプロパティのAddメソッドもしくはAddRangeメソッドを使えばよい。複数のヘッダ項目を作成したい場合には、複数をまとめて追加できるAddRangeメソッドが便利だ。よって本稿のサンプル・プログラムは、このAddRangeメソッドを利用する。
AddRangeメソッドのパラメータには、ColumnHeaderオブジェクト(System.Windows.Forms名前空間)の配列を指定する。1つのColumnHeaderオブジェクトが、1つのヘッダ項目に対応する。
具体的なサンプル・コードは、以下のとおりだ。ここではヘッダ項目として3つの列を設定している。
|
|
| ListViewコントロールにヘッダ項目を追加するサンプル・コード(C#) |
|
|
| ListViewコントロールにヘッダ項目を追加するサンプル・コード(VB.NET) |
上記コードの詳細は割愛するが、最初にListViewコントロールのプロパティ設定で、行選択モード(FullRowSelectプロパティ)、グリッド線表示(GridLinesプロパティ)、ソート機能(Sortingプロパティ)、詳細表示(Viewプロパティ)の設定を行っている。さらに続けて列(コラム)ヘッダの作成で、「名前」(列幅:100)、「種類」(列幅:60)、「データ」(列幅:150)という3つのColumnHeaderオブジェクトを作成して、それをAddRangeメソッドによりヘッダ項目として登録している。
ここではコードによりヘッダ項目の実装を行ったが、Visual Studio .NETのIDEの[プロパティ]ウィンドウにある「Columnsプロパティ」からは、GUIにより簡単に設定することもできる。
ListViewコントロールへのデータの追加
次にListViewコントロールへ実際のデータを追加する。
これにはListViewコントロールのItemsプロパティのAddメソッドもしくはAddRangeメソッドを使えばよい。これに関しても複数をまとめて追加するにはAddRangeメソッドを使う。本稿のサンプル・コードではデータを1つずつ登録するので、Addメソッドを使用する。
Addメソッドのパラメータには、ListViewItemオブジェクト(System.Windows.Forms名前空間)を指定する。1つのListViewItemオブジェクトが、1つのデータに対応する。
先ほどのサンプル・コードでは3つの列項目を作ったが、この場合には1つのデータには3つの文字列項目が存在することになる。よって、ListViewItemオブジェクトには3つの文字列データを含める必要がある。これを実現するには、ListViewItemクラスのコンストラクタのパラメータで、それらを配列として指定すればよい。
具体的には、以下のようなサンプル・コードになる。
|
|
| ListViewコントロールのデータを追加するサンプル・コード(C#) |
|
|
| ListViewコントロールのデータを追加するサンプル・コード(VB.NET) |
上記のコードにあるItemsプロパティのClearメソッドは、既存のデータ項目をすべて消去するためのものだ。
以上のサンプル・プログラムを実行したのが次の画面である。
![]() |
| ListViewコントロールのサンプル・プログラムの実行結果 |
- サンプル・プログラムのソース・コード全体のダウンロード
(C#:listviewadd.cs/VB.NET:listviewadd.vb)
ListViewコントロールの詳細表示はDataGridコントロールによるデータ一覧表示に似ているが、DataGridコントロールとは違って、コントロール内で直接、データの編集を行うことはできない。![]()
|
カテゴリ:Windowsフォーム 処理対象:ListViewコントロール 使用ライブラリ:ColumnHeaderクラス(System.Windows.Forms名前空間) 使用ライブラリ:ListViewItemクラス(System.Windows.Forms名前空間) |
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -





