C#でWindowsFormsプログラミング

C# DataGridView データグリッドビューでの一覧表示方法をマスターしよう!

C#入門フォーム編の第9回は引き続きDataGridViewを使います。実際にDataGridViewに値を設定して一覧表示させます。それではやっていきましょう。

解説

UserListFormのコンストラクタに下記のように記述し,save.csvファイルを読み込みます。

ブレークポイントを置いて動作を検証する

実行してユーザーリストを表示すると,ブレークポイントで処理が止まります。
この状態でlines変数にカーソルをかざすか,
右クリックで「ウォッチ式に追加」を選ぶと変数の中身を見ることができます。

さらに下記のように書き加えます。

foreach文は繰り返し処理を行います。
この場合linesに複数行のデータがあるためそれを1行ずつ繰り返し処理を行ってくれます。
line.Split(‘,’)は1行分のデータをカンマ区切りで分解しています。
row変数にはカンマ区切りで分解された文字データの配列が格納されます。

ちなみにvarとは,右辺から型が推定できる場合に型の宣言を省略するためにあります。
今場合はSplitの戻り値がstring[]のため,rowもstring[]になります。

このrowの値を画面のDataGridViewに表示したいのですが,
そのためにはデータバインディングという技術が必要になります。

プロジェクト右クリックの「追加」から「クラス」を選びます。

「UserInfoDto」という名前にして追加します。

追加されたクラスに下記のように記述します。

これはCSVを読んだデータを入れる入れ物クラスになるので,CSV項目と合うように項目を作ります。

ユーザーリスト画面のコードに戻り下記のように記述します。

これでユーザーリストを表示すると,save.csvのデータ表示されるようになります。

再びユーザー登録画面でデータを追加すると,
ユーザーリストにデータが増えることが確認できると思います。

WindowsFormsプログラミング