C#で読み込んだファイルの中身を取得してDataGridViewに表示する方法

実現したいこと

ここに実現したいことを箇条書きで書いてください。

前提

ここに質問の内容を詳しく書いてください。
(例)
C#で以下のようなテキストファイルを読み込んでDataGridViewに表示するシステムを作っています。
テキストファイルの中身

a,要確認,(1,2,3,4,5,20)
a,期限切れ,(2,3,4,5,6,30)
b,要確認,(3,4,5,6,7,10)

これをDataGridView上では
1行目:a,要確認,(1,2,3,4,5,20) a,期限切れ,(2,3,4,5,6,30)
2行目 : b,要確認,(3,4,5,6,7,10)

のように、1項目が同じものは1行にまとめて表示させたいのです。
StreamReaderを使って1行ずつ読み込むことは分かるのですが、そこからがなかなか思いつきません。どうかお力添えいただけませんでしょうか。

該当のソースコード

C#

1 string mastFile = "./AlarmMst/AlarmMst.txt"; //ファイルパス 2 string nameAlarm; //名前3 string lastTime = string.Empty; //前回4 string dateCheck = string.Empty; //確認5 string dateExpired = string.Empty; //期限切れ6 7 //"Button"列ならば、ボタンがクリックされた8 if (dgv.Columns[e.ColumnIndex].Name == "更新")9 {10 nameAlarm = Convert.ToString(dataGridView1.Rows[rowNum].Cells[0].Value);11 StreamReader sr = new StreamReader12(mastFile,Encoding.GetEncoding("SHIFT_JIS"));13 14//ファイルからデータがなくなるまで1行ずつ読み込む15 while (!sr.EndOfStream)16 {17 string alarm =sr.ReadLine();18 bool isContain = alarm.Contains("要確認"); 19 20 //要確認が含まれているかチェックする21   if (isContain)22    {//含まれていたら読んだ1行を配列にする23    string[] alarmData = alarm.Split(',');24    }25     }26 27 28 29### 試したこと 30 31先に「要確認」が含まれている行だけ取得しようかと思ったのですが、このループだと最終的に最後の行のデータしか取得できないな……と思って詰まっています。 32 33

コメントを投稿

0 コメント