首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将分隔的文本框行转换为数据视图的正确方法?

将分隔的文本框行转换为数据视图的正确方法?
EN

Stack Overflow用户
提问于 2015-02-09 15:11:02
回答 1查看 345关注 0票数 0

请给我一些关于这个错误的指导。我有一个TextBox输出,它已经用;分隔了干净和格式化的文本,它对应于5列和无限行。但我不知道如何用正确的方式填写DataGridView。我得到了这个错误

指数超出了范围。必须是非负的,并且小于集合的大小。参数名称:索引

示例文本框输出2行44行

4C5E0C4255CD;pppoe;4C:5E:0C:42:55:CD;192.168.29.71;2d19h16m6s 4C5E0C458887;pppoe;4C:5E:0C:45:88:87;192.168.29.110;2d19h16m3s

代码语言:javascript
复制
Private Sub QueryMkt_Click(sender As Object, e As EventArgs) Handles QueryMkt.Click
    DataGridView1.AutoGenerateColumns = False
    DataGridView1.Columns.Add("name", "name")
    DataGridView1.Columns.Add("service", "service")
    DataGridView1.Columns.Add("caller-id", "caller-id")
    DataGridView1.Columns.Add("address", "address")
    DataGridView1.Columns.Add("uptime", "uptime")

    For i As Integer = 0 To tbOutput.Lines.Length - 2

        Dim delimitedText As String = tbOutput.Lines(i)
        Dim holder As String() = Regex.Split(delimitedText, ";")

        'MessageBox.Show((i), (holder(0) + holder(4)))
        'DataGridView1.Item(0, i).Value = holder(0).ToString()

        DataGridView1.Rows(i).Cells("name").Value = holder(0).ToString()
        DataGridView1.Rows(i).Cells("service").Value = holder(1).ToString()
        DataGridView1.Rows(i).Cells("caller-id").Value = holder(2).ToString()
        DataGridView1.Rows(i).Cells("address").Value = holder(3).ToString()
        DataGridView1.Rows(i).Cells("uptime").Value = holder(4).ToString()
    Next
End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-09 16:36:46

您应该在应用程序的开头添加一次列,然后按照the_lotus的建议使用the_lotus()。您可以简单地传递"holder“数组:

代码语言:javascript
复制
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    DataGridView1.AutoGenerateColumns = False
    DataGridView1.Columns.Add("name", "name")
    DataGridView1.Columns.Add("service", "service")
    DataGridView1.Columns.Add("caller-id", "caller-id")
    DataGridView1.Columns.Add("address", "address")
    DataGridView1.Columns.Add("uptime", "uptime")
End Sub

Private Sub QueryMkt_Click(sender As Object, e As EventArgs) Handles QueryMkt.Click
    For i As Integer = 0 To tbOutput.Lines.Length - 2
        Dim delimitedText As String = tbOutput.Lines(i)
        Dim holder As String() = Regex.Split(delimitedText, ";")
        DataGridView1.Rows.Add(holder)
    Next
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28412920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档