我想循环浏览所有的文本文件,并将数据插入到列表视图中



我正在制作一个现代化的系统程序,该程序中有订单历史记录功能,其中文件夹中的所有文本文件都会被读取并插入ListView1。

对于ListView,我有三列。

  1. 日期-这是文本文件的名称
  2. 订单-在文本文件中
  3. 价格-也在文本文件中

示例-文本文件:"05/05/2017"<这是第一列。在文本文件中,项目和价格由","分割。示例,"芯片,0.50">

以下代码适用于Date列,并为第一行插入项目和价格,但不插入后面的项目和价格。

` Imports System.IO
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim path As String = "C:UsersExampleDesktop1TesstDates"
For Each i As String In System.IO.Directory.GetFiles(path)
Dim a, b, c As String
a = System.IO.Path.GetFileNameWithoutExtension(i)
b = System.IO.Path.GetFileName(i)
c = System.IO.Path.GetFullPath(i)
Dim arrCheck(3) As String
ListView1.Items.Add(a)
For Each j As String In System.IO.Directory.GetFiles(path)
Dim text As String = IO.File.ReadAllText(j)
arrCheck = Split(text, ",")
ListView1.Items(0).SubItems.Add(arrCheck(0))
ListView1.Items(0).SubItems.Add(arrCheck(1))
Next
Next
End Sub
End Class`

我如何使它适用于所有行,而不仅仅是第一行。

图片添加

试试这个:

Imports System.IO
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim path As String = "C:UsersExampleDesktop1TesstDates"
Dim arrCheck(3) As String
Dim lineNum As Integer = -1
For Each i As String In System.IO.Directory.GetFiles(path)
Dim a, b, c As String
a = System.IO.Path.GetFileNameWithoutExtension(i)
b = System.IO.Path.GetFileName(i) ' unused
c = System.IO.Path.GetFullPath(i)
For Each line As String In File.ReadLines(c)
lineNum = lineNum + 1
ListView1.Items.Add(a)
arrCheck = Split(line, ",")
ListView1.Items(lineNum).SubItems.Add(arrCheck(0))
ListView1.Items(lineNum).SubItems.Add(arrCheck(1))
Next
Next
End Sub
End Class

(向@CallumDA大喊)

试试这个

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim path As String = "C:UsersExampleDesktop1TesstDates"
For Each i As String In System.IO.Directory.GetFiles(path)
Dim a, b, c As String
a = System.IO.Path.GetFileNameWithoutExtension(i)
b = System.IO.Path.GetFileName(i)
c = System.IO.Path.GetFullPath(i)
Dim arrCheck() As String
Dim text As String = IO.File.ReadAllText(i)
arrCheck = Split(text, ",")

Dim NewItem as New ListViewItem(a)
NewItem.SubItems.Add(arrCheck(0))
NewItem.SubItems.Add(arrCheck(1))
ListView1.Add(NewItem) 
Next
End Sub

最新更新