DOBON.NET DOBON.NETプログラミング掲示板過去ログ

CSVファイルをデータグリットで表示

環境/言語:[Win2000 使用言語VB.NET]
分類:[.NET]

CSVファイルをデータグリットに表示して、数値の入れ替え、ファイルに読み込み書き込みしていんですが…
>CSVファイルには
1,2,3,4,5
6,7,8,9,10
11,12,13,14,15
って入ってます。
これの8を16に変えて表示したい

>CSVファイルを変換してデータグリットに表示
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'テーブルの作成
Dim tbl As New DataTable("VB.csv")
tbl.Columns.Add("clm1", System.Type.GetType("System.String"))
tbl.Columns.Add("clm2", System.Type.GetType("System.String"))
tbl.Columns.Add("clm3", System.Type.GetType("System.String"))
tbl.Columns.Add("clm4", System.Type.GetType("System.String"))
tbl.Columns.Add("clm5", System.Type.GetType("System.String"))

Dim data As String
Dim x() As Char = {CChar(",")}
Dim file_mane As String = "C:\Documents and Settings\users011\デスクトップ\新しいフォルダ\VB.csv"
FileOpen(1, "C:\Documents and Settings\users011\デスクトップ\新しいフォルダ\VB.csv", OpenMode.Input, OpenAccess.Default, OpenShare.Shared)
Dim csv() As String = LineInput(1).Split(x)
tbl.Rows.Add(New Object() {csv(0), csv(1), csv(2), csv(3), csv(4)})

DataGrid1.DataSource = tbl

Dim c As DataGridCell = DataGrid1.CurrentCell

Dim rn As Integer = c.RowNumber

Console.WriteLine("選択された行", "{(0)}", rn)
TextBox1.Text = rn

Dim cn As Integer = c.ColumnNumber
Console.WriteLine("選択された行", "{(0)}", cn)
TextBox2.Text = cn
Console.WriteLine("選択された行", "{(0)}", CStr("DataGrid1,rn,cn"))

これで1〜5までは表示できるんですが、6以降表示できません。
あと、Form1_Loadではなくボタン1を押してファイル選択をしてデータグリットに表示させたいです。
こんにちは。
まず1〜5までしか表示されないのは、csvの取り込みの際に一行目しか読み込まれていないと云う事ではないのでしょうか?

Do Until EOF(FileNo)
  ・
 ・
Loop

等でレコード終了までデータレコードに格納させ、データグリッドと紐付けると云う
やり方ではどうでしょう?
■No4880に返信(nepiaさんの記事)
> こんにちは。
> まず1〜5までしか表示されないのは、csvの取り込みの際に一行目しか読み込まれていないと云う事ではないのでしょうか?
>
> Do Until EOF(FileNo)
>   ・
>  ・
> Loop
>
> 等でレコード終了までデータレコードに格納させ、データグリッドと紐付けると云う
> やり方ではどうでしょう
ありがとうございました。
これで表示できました
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板