将信息从程序粘贴到datagridview

时间:2019-04-17 08:29:59

标签: vb.net datagridview clipboard

在工作中,我们使用一个程序来匹配某些数据。我目前正在研究一种解决方案,以将这些匹配项插入数据库中。但是为了做到这一点,我希望将matchresults结果显示在datagridview中。到目前为止,我已经尝试使用this awnser中的代码。

我遇到的问题是,当我粘贴匹配程序中的数据时,它仅设置5列,而它需要设置为7。这是由于以下事实导致的:第一行不包含任何数据。

不幸的是,我无法更改要复制到剪贴板的数据,因此必须相应地更改粘贴代码。

我当前使用的代码如下:

    Const tab As Char = ChrW(9)
    Const lineFeed As Char = ChrW(10)
    Const carriageReturn As Char = ChrW(13)

    Dim generate As Boolean = True

    For Each line As String In Clipboard.GetText.Split({lineFeed, carriageReturn}, StringSplitOptions.None)

        Dim values() As String = line.Trim.Split({tab})

        If (generate) Then
            For cell As Integer = 0 To (values.Length - 1)
                DataGridView2.Columns.Add(String.Format("C{0}", cell), cell.ToString())
            Next
            generate = False
        End If

        DataGridView2.Rows.Add(values)

    Next

有人可以帮助我解决我的问题吗?任何帮助将非常感激。如果有帮助的话,我可以不用第一行,因此,如果我可以修改剪贴板字符串以抛弃第一行,那么它仍然可以解决我的问题。

PS:上述解决方案提供的较长代码在粘贴时也会导致错误,因此这就是为什么我不使用提供的更为精美的代码的原因。

1 个答案:

答案 0 :(得分:0)

由于@Jimi和@JohnG,我能够通过简单地预先添加两列来解决我的问题。