- ベストアンサー
DataGridにテキストファイルの内容の表示方法
VB2010 DataGridにテキストファイルの内容を表示 テキストファイルから任意の列(2列目)のデータを読み込み、Form1に配置したDataGridに読み込むにはどうしたらよいでしょうか? 下記のようなテキストファイルのデータがありまして、0.1などこの列のデータをDataGridに読み込みたいと考えています。 もし宜しければ、構文を教えて頂けないでしょうか。 VB2010の勉強を初めて1週間しか経っておらず、まだまだ勉強足らずです。 宜しくお願いします。 <テキストファイルのデータの内容> 1 0.1 *** 2 0.3 *** 3 0.5 *** ・ ・ ・
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
フォームにDataGridViewを1つ貼り付ける(名前はDataGridView1のままとする) 判りやすいようにボタンを1つ貼り付ける。このボタンのクリックイベントで プログラムの実行契機とする。 -- WEB照会で、出てくる例を使ってやれるだろう。 WEBの記事を探すことが必須の情報源だ。 http://kchon.blog111.fc2.com/blog-entry-56.html 1週間でVB.NETの問題が出来れば立派なもんだ。 ーーー 私の例では、aaa4.csvというCSVファイルが下記フォルダにあり、 4列の項目になっているので、DataGridView1にも 列を4列に増やしておく。(DataGridView1のところで、右クリックー列の追加を 3回行う。) ボタン(私の場合の名前はButton5)のクリックイベントに Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click ' CSVファイルオープン Dim sr As IO.StreamReader = _ New IO.StreamReader("C:\Documents and Settings\XXXX\My Documents\aaa4.csv", _ System.Text.Encoding.GetEncoding("SHIFT-JIS")) ' CSVファイルの各セルをDataGridViewに表示 DataGridView1.Rows.Clear() Dim r As Integer = 0 Dim lin As String = "" Do lin = sr.ReadLine() If lin Is Nothing = False Then DataGridView1.Rows.Add() Dim csv As String() = lin.Split(",") For c As Integer = 0 To csv.GetLength(0) - 1 If c < DataGridView1.Columns.Count Then DataGridView1.Rows(r).Cells(c).Value = csv(c) End If Next r += 1 End If Loop While (lin Is Nothing = False) ' CSVファイルクローズ sr.Close() End Sub これで「デバッグの開始」をして、Form1のButton5をクリックすると、 DataGridView1に4列で、CSVファイルのデータ行数だけ、CSVのデータが表示された。 ーー 質問の場合だが、 (1)テキストファイルらしいが、上記でファイル名を質問者のテキストファイル名に修正する lin.Split(",")のところは、lin.Split(" ")と区切り文字を考えて変えてください。 (2)テキストファイルの第2列目だけをDataGridView1にセットするなら、DataGridView1で4列に増やす必要はない。 そして For c As Integer = 0 To csv.GetLength(0) - 1 のところで、該当列でない列では、処理をスキップするコードを入れれば良いでしょう。 If c=2 then '処理 Enf If