【问题标题】:Datagridview - Skip headerDatagridview - 跳过标题
【发布时间】:2018-01-04 04:10:26
【问题描述】:

我正在将数据从 catia 添加到 datagridview。下面显示了我遇到问题的部分代码。当我将数据表绑定到 datagridview 时,数据从标题开始粘贴,我不确定如何跳过标题并从第 1 行开始。感谢任何帮助。谢谢你。 enter image description here

    Dim txtLines1 As New List(Of String())
    _StringList.ToList().ForEach(Sub(x) txtLines1.Add(x.Split(New Char() {";"})))

    If txtLines1.Count > 0 Then
        txtLines1.Item(5).ToList.ForEach(Sub(x) txtDataTable.Columns.Add(New DataColumn(x.ToString)))

        txtLines1.RemoveAt(1)
    End If

    If txtLines1.Count > 0 Then
                txtLines1.ToList.ForEach(Sub(x) txtDataTable.Rows.Add(x.ToArray))
            End If

【问题讨论】:

  • 在很大程度上,这看起来像是一个调试问题:该代码出了点问题,但由于我们没有数据,因此我们几乎无法提供帮助。看起来您可以跳过第二步并将临时列表用作数据源。请阅读How to Ask 并采取tour

标签: vb.net


【解决方案1】:

您正在使用列表第 5 项(第 6 项)中的值作为列名。这就是那里显示的内容。对于数据网格中的每一列,您可以对其进行更新以赋予其更有意义的名称。

txtLines1.Item(5).ToList.ForEach(Sub(x) txtDataTable.Columns.Add(New DataColumn(x.ToString)))

这是给它一个有意义的名字的一种方式:

txtDataTable.Columns(4).ColumnName = "第 5 列" txtDataTable.Columns(4).Caption = "第5列"

根据下面的第二组代码,它会从列表中删除第二个项目,然后再将项目添加到 DataTable。不知道为什么要删除第二项。

    txtLines1.RemoveAt(1)
End If

If txtLines1.Count > 0 Then
            txtLines1.ToList.ForEach(Sub(x) txtDataTable.Rows.Add(x.ToArray))
End If

因此您的网格结果显示: 第 6 项作为列名

后跟作为数据:

  • 第一项
  • 第 3 个列表项(您删除了第 2 个 - 项 (1))
  • 第 4 个列表项
  • 第 5 个列表项
  • 第 6 个列表项
  • ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    相关资源
    最近更新 更多