2016-10-12 65 views
1

我想從.csv文件中拖出最後5行並將它們顯示在我的表單上的datagrid中。我如何將數據插入數據網格?C#將最後5行從.csv文件插入到datagrid中

這裏是我當前的代碼,

 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列信息,當插入到datagrid時,它被合併成一個 – Shadow89

+1

是的,你可以有,只要在數據網格中定義它,如果它有幫助標記爲答案 – Sajeetharan

+0

我將如何定義它在數據網格中,我很新的datagrids,對不起 – Shadow89