【问题标题】:How do you read txt files and display the results in a grid headers in Visual Basic 2010 express?如何在 Visual Basic 2010 express 中读取 txt 文件并将结果显示在网格标题中?
【发布时间】:2013-03-29 09:17:39
【问题描述】:

这听起来很简单,但我在谷歌上搜索了一段时间后仍然找不到答案。我在表单上有 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

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

【问题讨论】:

    标签: vb.net datagridview


    【解决方案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())
    

    这很容易,只需最少的研究即可完成。

    【讨论】:

      【解决方案2】:

      这个答案对我构建自己的解决方案很有用,我想与其他人分享;

      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
      

      【讨论】:

        猜你喜欢
        • 2011-03-29
        • 2010-11-05
        • 1970-01-01
        • 1970-01-01
        • 2011-05-27
        • 2014-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多