[VISUAL BASIC]如何在vb.net中将文本文件导出到ListView
问题: 我有一个文本文件,其中包含以下样式的数据:日期、时间、日志类型、sessionID、loginID 例如: 2017-12-12 21:59:13739[7]信息-Login.Login用户身份验证-o03dx1c3hnfxz35ljee1mfcy未知-登录:BST028991 2017-12-12 23:59:13839[17]信息-Login.LoginUser_Authenticate-o03dx1c3hnfxz35ljee1mfcy未知-登录名:BST345991 等等 我想将文本文件导出到ListView 我创建了一个带有5列的datagridview(文本文件中每个数据字段一列) 我用这个密码试过了[VISUAL BASIC]如何在vb.net中将文本文件导出到ListView,vb.net,listview,datagridview,Vb.net,Listview,Datagridview,问题: 我有一个文本文件,其中包含以下样式的数据:日期、时间、日志类型、sessionID、loginID 例如: 2017-12-12 21:59:13739[7]信息-Login.Login用户身份验证-o03dx1c3hnfxz35ljee1mfcy未知-登录:BST028991 2017-12-12 23:59:13839[17]信息-Login.LoginUser_Authenticate-o03dx1c3hnfxz35ljee1mfcy未知-登录名:BST345991 等等 我想将文
Private Sub SetListView(ByRef myListView As ListView)
myListView.View = View.Details
With myListView.Columns
.Add("day", 90)
.Add("time", 100)
.Add("logtype", 90)
.Add("sessionid", 170)
.Add("loginid", 150)
End With
End Sub
Private Sub OpenFolderToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles OpenFolderToolStripMenuItem.Click
Dim TextFile As IO.StreamReader
Dim Line As String
OpenFileDialog1.Filter = "LOG FILE|*.log|TEXT FILE|*.text|ALL FILE|*.*"
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
For x = 0 To OpenFileDialog1.FileNames.Count - 1
MessageBox.Show(OpenFileDialog1.FileNames(x))
Me.LogListView.Items.Clear()
TextFile = New IO.StreamReader(OpenFileDialog1.FileNames(x), System.Text.Encoding.Default)
Line = TextFile.ReadLine()
Do While Line <> Nothing
Me.LogListView.Items.Add(Line)
Line = TextFile.ReadLine()
Loop
TextFile.Close()
Next
End If
End Sub
私有子集合ListView(ByRef myListView作为ListView)
myListView.View=View.Details
使用myListView.Columns
.添加(“日”,90)
.加上(“时间”,100)
.添加(“日志类型”,90)
.添加(“sessionid”,170)
.Add(“loginid”,150)
以
端接头
私有子OpenFolderToolStripMenuItem\u Click(发送者作为对象,e作为事件参数)处理OpenFolderToolStripMenuItem。单击
将文本文件设置为IO.StreamReader
将线变暗为字符串
OpenFileDialog1.Filter=“日志文件|*.LOG |文本文件|*.TEXT |所有文件|*.*”
如果OpenFileDialog1.ShowDialog=DialogResult.OK,则
对于x=0,打开filedialog1.FileNames.Count-1
MessageBox.Show(OpenFileDialog1.FileNames(x))
Me.LogListView.Items.Clear()文件
TextFile=New IO.StreamReader(OpenFileDialog1.FileNames(x),System.Text.Encoding.Default)
Line=TextFile.ReadLine()
什么都不要做
Me.LogListView.Items.Add(行)
Line=TextFile.ReadLine()
环
TextFile.Close()
下一个
如果结束
端接头
他的代码是错误的,加载时,文本只有一列
您需要分解该行并为多栏ListViewItem添加创建新的ListViewItem。
请参阅以下代码:
String[] arr = new String[5];
arr = explode(line);
var item = new ListViewItem(new[] {arr[0],arr[1],arr[2],arr[3],arr[4]});
myListView.Items.Add(item);
这是“Lightning3”代码,我帮助做格式化
Dim arr As [String]() = New [String](4) {}
arr = explode(line)
Dim item = New ListViewItem(New () {arr(0), arr(1), arr(2), arr(3), arr(4)})
myListView.Items.Add(item)
看看您的示例,我不太明白如何用分隔符将其拆分。通常使用
,
执行此操作。您的标题建议了这一点,但您的示例没有。如果您可以澄清这一点,那么您可以在,
上拆分,并使用此按钮推送到所需的列表项
和子项
。老实说,我认为你可能很难做到这一点与文件的布局。