我有以下代码可用于在KeyDown事件下粘贴到我的datagridview中:
If e.Control AndAlso e.KeyCode = Keys.V Then
Try
For Each line As String In Clipboard.GetText.Split(vbNewLine)
If Not line.Trim.ToString = "" Then
Dim item() As String = line.Trim.Split(vbTab)
Me.Datagridview1.Rows.Add(item)
End If
Next
Catch ex As Exception
MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End If
粘贴数据效果很好,问题是当我将空白单元格粘贴到datagridview时,它会忽略某些空白并移动包含内容的单元格。
Example when i paste this:
Column1 Column2 Column3 Column4
Row1 a b d
Row2 f g
This is what i get:
Column1 Column2 Column3 Column4
Row1 a b d
Row2 f g
有人知道我可能在做错什么或如何改进我的代码吗?
答案 0 :(得分:0)
更改此
Dim item() As String = line.Trim.Split(vbTab(0))
对此
Dim item() As String = line.Split(vbTab(0))
或者这,如果您想修剪单个单元格的内容,但这不是一个好主意
Dim item() As String = line.Split(vbTab(0)).Select(Function(X) X.Trim).ToArray
.Trim调用正在从行中剥离初始TAB并移动数据。