2016-10-12 14 views
1

.csvファイルから最後の5行を取り出し、フォームのDataGridに表示しようとしています。どのようにデータグリッドにデータを挿入しますか?ここでC#.csvファイルから最後の5行をデータグリッドに挿入

は私の現在のコードは、事前に

 int x = 5; 
     var buffor = new Queue<string>(x); 

     var log = new StreamReader(@"MyPath"); 

     while (!log.EndOfStream) 
     { 
      string line = log.ReadLine(); 

      if (buffor.Count >= x) 
       buffor.Dequeue(); 
      buffor.Enqueue(line); 
     } 

     string[] lastLines = buffor.ToArray(); 

おかげです。

答えて

1

あなたがこれを行うことができ、

public Form1() 
     { 
      InitializeComponent(); 
      int x = 5; 
      var buffor = new Queue<string>(x); 
      foreach (var headerLine in File.ReadLines("C:/NewMap.csv").Take(1)) 
      { 
       foreach (var headerItem in headerLine.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries)) 
       { 
        dataGridView1.Columns.Add(headerItem.ToString().Trim(), headerItem.ToString()); 
       } 
      } 
      var log = new StreamReader("C:/NewMap.csv"); 

      while (!log.EndOfStream) 
      { 
       string line = log.ReadLine(); 

       if (buffor.Count >= x) 
        buffor.Dequeue(); 
       buffor.Enqueue(line); 
      } 

      foreach (var line in buffor) 
      { 
       if (line != string.Empty || line != string.Empty) 
       { 
        dataGridView1.Rows.Add(line); 
       } 
      } 
     } 
+0

それは、列の同じ量を維持することは可能ですか?私のCSVファイルには8列の情報があり、データグリッドに挿入すると1つのデータグリッドに結合されます – Shadow89

+1

はい、データグリッドに定義するだけです。回答があれば – Sajeetharan

+0

データグリッドにどのように定義すればいいですか? – Shadow89

関連する問題