这听起来很简单,但谷歌搜索了一段时间后仍然找不到答案。我在表单上有DataGridView,它叫做DataGridView1。我有两个txt文件(每个文件中有一列)数据,我希望能够将它们显示为Row&列标题(不是单元格内容)。例如,两个txt文件是
现在:
sObj.txt包含数据a,b和amp; c在一列中&
sQue.txt包含数据d,e& f在一列中。
现在我想要的是:
a b c
d
e
f
请帮助,我是编程和初学者需要紧急完成。
答案 0 :(得分: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())
这很简单,只需要很少的研究就可以做到这一点。
答案 1 :(得分: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