0

这听起来很简单,但我在谷歌搜索了一段时间后仍然找不到答案。我在表单上有 DataGridView,它被称为 DataGridView1。我有两个 txt 文件(每个文件都有单列)数据,我希望能够将它们显示为行和列标题(而不是单元格内容)。比如这两个txt文件是

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

现在:
sObj.txt 在单列中包含数据 a、b 和 c,而
sQue.txt 在单列中包含数据 d、e 和 f。现在我想要的看起来像:

a  b  c
d
e
f

请帮忙,我是编程的初学者,需要紧急完成。

4

2 回答 2

1

正如我在评论部分已经说过的,您需要StreamReader阅读文本文件的行。首先,您必须导入System.IO-namespace:

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())

这很容易,你可以通过最少的研究来做到这一点。

于 2013-04-07T07:15:48.947 回答
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
于 2017-07-14T14:22:19.183 回答