2016-02-28 75 views
1

我找到了一個代碼here,用於將我的數據從文本文件導入到DataGridView。將.txt文件內容導入到datagridview中

public void LoadIntoGrid(string path) 
     { 
      var lines = File.ReadAllLines(path); 
      if (lines.Count() > 0) 
      { 
       foreach (var columnName in lines.FirstOrDefault() 
        .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)) 
       { 
        dataGridView1.Columns.Add(columnName, columnName); 
       } 
       foreach (var cellValues in lines.Skip(1)) 
       { 
        var cellArray = cellValues 
         .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); 
        if (cellArray.Length == dataGridView1.Columns.Count) 
         dataGridView1.Rows.Add(cellArray); 
       } 
      } 
     } 

我以前從來沒有用過這樣的東西,我迷路了。我的意思是 - 我不知道這裏有什麼問題。關鍵是我沒有填寫所有欄目。只是之後有一些像「斷線」的東西。我會告訴你在屏幕上: enter image description here

所以,你可以看到,152659,152680,152684拿到後,只有「破線」(不完全,因爲有一個「Z」在這一行)這些值進入數據網格。

我使用的文本文件的內容:

        WYNIKI – PO POPRAWACH (Zarządzanie cz.I) Gr10 IwB I rok 
    NR  PR-ZESP SYSTEM OP.  MT  ZDLN P ALOK. Seria,R ∑ PUN prznt  T PROPOZ 
    ALB.                KTÓW      OC 
      02.10  09.10.  16.10 23.10 30.10. 06.11   13.11 06.11 
152628  10   7,2   10  9,8  7  9  53  z  3 4 
152631  10   6   10  9,3  8,2  7,5  51  z  2+  3 
152632  10   7   10  7,5  4,1  6  44,6  z  2/2/z 3 
152633  10   6,5   10  7,5  4,1  6  44,1  z  3  3+ 
152634  10   4,7   10  8,8  7   6  46,5  z  3  4 
148999  0   0   0  9,8  7  7,5  24,3  z  3-/2/z 3 
152636  10   6   10  7,2  7  7  47,2  z  3+ 4+ 
152637  10   7,2   10  9,3  8,2  7,5 52,2  z  3  4 
152639  10   4,5   10  0  8,2  9  41,7  z  2/3 3+ 
152640  10   6,3   10  5,5  0  8,3 40,1  z  3-  3 
152642  0   7   10  9,8  0  5  31,8  z  2 /3 3 
152643  10   7,2   10  5,1  7  7,5 46,8  z  2+  3 
152644  10   6,3   10  8,8  8,2  5  48,3  z  3+ 4+ 
152650  10   6,2   10  9   9  9,5  53,7  z  3+  4+ 
152651  0   7,5   10  8,8  0  6  32,3  z  3-/z 3 
152652  10   4,7   10  7  7   6  44,7  z  3+  4 
152654  10   6,3   0  9,8  8,2  5  39,3  z  3- 3 
152655  0   0   0  0   0  0  0    0 
152659  10   6,5   10  7,5  4,1  8,3  46,4    3  4 
                       z     
152660  10   6,2   0  0   0  9,5  25,7  z  3- P/2 
152661  10   7   10  7   0  8,3 42,3  z  2+   3 
152665  10   4,7   10  7,5  4,1  6  42,3  z  3+  4 
152669  10   7,5   10  9,3  8,2  9  54  z  2+/3  3/4 
154874  10   4,5   10  9,3  0  9  42,8  z  2 p/2 
152673  10   4,7   10  7   7  6  44,7  z  3  3+ 
152675  10   6   10  5,1  8,2  5  44,3  z  2+  3 
152676  10   4,5   10  5,1  7  8,3  44,9  z  2+  3 
152677  10   6,5   10  5,5  7  6  45  z  3+  4 
152678  10   6,3   0  5,5  8,2  9,5 39,5  z  3-  3 
152679  10   6   0  0   0  0  16    0 
152680  10   7,2   10  5,1  7  9  48,3    2+   3 
                       z     
149045  10   6,2   10  9  9  9,5 53,7  z  3  4 
152681  10   0   0  0   0  0  10    0 
152684  10   6,5   10  5,5  0  0  32    0/3  3 
                       z     
152686  10   7,5   10  9   9  9,5  55  z  2+  3 
152687  10   7   0  0   0  0  17    0 

什麼可能是錯在這裏了?

回答

0

通過編碼您的數據是不同的txt文件。某些txt文件的行未滿。所以它不能在gridview上顯示所有的信息。看看你的txt文件

+0

恩......我不明白,你能詳細解釋一下嗎? –

+0

源數據沒有規則。所以代碼不能通過分割「」來分割成功。 – user5949499

+0

但您可以使用.txt擴展名創建一個新文件,然後在其中輸入一些數據。使用逗號分割可以被C#分割的數據。 – user5949499