2013-04-07 36 views
1

這聽起來很簡單,但Google搜索一段時間後仍然無法找到答案。我有一個窗體上的DataGridView,它被稱爲DataGridView1。我有兩個txt文件(每個文件中有單列)數據,我希望能夠將它們顯示爲行標題(不是單元格內容)&。例如,兩個txt文件是如何讀取txt文件並在Visual Basic 2010 Express中的網格標題中顯示結果?

  1. C:\ TEMP \ sObj.txt
  2. C:\ TEMP \ sQue.txt

現在:
sObj.txt包含數據的, b & c在單個列中&
sQue.txt在單個列中包含數據d,e & f。 現在我想是這樣的:

a b c 
d 
e 
f 

請幫幫忙,我在編程&需要一個初學者這個亟待完成。

回答

1

正如我在評論部分所述,您需要StreamReader來讀取您的文本文件的行。所有的 首先你要導入System.IO - 命名:

Import System.IO 

所以,聲明你StreamReader與文件路徑到你的文本文件,並讀取它的每一行。

然後,您必須將StreamReader的文本作爲列添加到DataGridView中。 第一個參數是的ColumnName,第二個是ColumnHeading:

Using reader As New StreamReader(@"YOURFILEPATHHERE") 
    DataGridView1.Columns.Add(reader.ReadLine(),reader.ReadLine()) 
End Using 

所以,現在你已經加上你列。將您的行更容易:

只需讀取線,並與您String(linetext)添加行作爲參數:

DataGridView1.Rows.Add(reader.ReadLine()) 

這是很容易,你可以這樣做,是用最少的研究。

0

這個答案對我來說是很有用的,可以建立我自己的解決方案,我想與他人分享;

Private Sub LoadColumnsInDGV(FileName As String) 
    Try 
     Dim sr As New System.IO.StreamReader(FileName) 
     Dim TxtNewLine As String 
     Dim IsFlagFound As Boolean = True 
     Dim NewColName As String 
     Dim SplitLine() As String 

     Do While sr.Peek() > -1 
      TxtNewLine = Trim(sr.ReadLine()) & vbNewLine 
      SplitLine = Split(TxtNewLine, vbTab) 
      If IsFlagFound Then 
       For i = 0 To SplitLine.Length - 1 
        NewColName = Trim(SplitLine(i)) 
        NewColName = NewColName.Replace(vbNewLine, Nothing) 
        DataGridView1.Columns.Add(NewColName, NewColName) 
       Next 
       IsFlagFound = False 
      Else 
       DataGridView1.Rows.Add(SplitLine) 
      End If 
     Loop 
     sr.Close() 
    Catch ex As Exception 
     MsgBox("Error on Sub LoadColumnsInDGV " & vbCrLf & ex.Source & vbCrLf & ex.Message) 
    End Try 
End Sub 
相關問題