如何将RichTextBox中分号分隔的内容按指定列加载至DataGridView
修正方案
原代码的核心问题如下:
- 没有对RichTextBox的每行内容按分号做拆分,无法得到四个独立字段
- 手动操作DataGridView行列的逻辑冗余,直接通过DataTable绑定的方式实现更简洁高效
- 错误地在循环中途重复绑定数据源,会导致数据展示异常
修正后的完整代码如下:
' 定义分隔符 Dim Separador As Char = ";"c Dim datagrid As New DataTable() ' 构建DataTable的列结构 datagrid.Columns.Add("ID") datagrid.Columns.Add("Name") datagrid.Columns.Add("Rank") datagrid.Columns.Add("Status") ' 遍历RichTextBox的每一行 For Each line As String In RichTextBox2.Lines ' 跳过空行避免报错 If String.IsNullOrWhiteSpace(line) Then Continue For ' 按分号拆分当前行的字段 Dim fields As String() = line.Split(Separador) ' 校验字段数量,避免索引越界,你也可以根据需求调整不足4个字段时的处理逻辑 If fields.Length >= 4 Then Dim dr As DataRow = datagrid.NewRow() ' Trim方法可以去掉字段前后的多余空格 dr("ID") = fields(0).Trim() dr("Name") = fields(1).Trim() dr("Rank") = fields(2).Trim() dr("Status") = fields(3).Trim() datagrid.Rows.Add(dr) End If Next ' 所有数据处理完成后一次性绑定到DataGridView DataGridView1.DataSource = datagrid
内容的提问来源于stack exchange,提问作者Break Inside
相关产品推荐
相关产品推荐

