将 Datagridview 设置为仅显示从 excel 粘贴的 50 行

Set Datagridview to only display 50 rows that are pasted from excel

我有一个 vb.net 程序,它有一个数据网格视图和一个按钮,最终用户可以使用按钮将数据从 excel 粘贴到网格中。用户从excel复制数据,点击程序中的粘贴按钮,将数据粘贴到datagridview中。我只希望用户能够在 datagridview 中粘贴 50 条记录。我遇到的问题是最终用户可以复制 50 多行并粘贴到网格中。它将显示一个消息框“最大行数为 50”,但网格会将 excel 副本中的所有行显示在网格中。如何将粘贴设置为显示前 50 行并删除其他行如何将 datagridview 设置为仅显示 50 条记录?

这是我正在使用的副本:

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnPaste.Click
        btnClear.Enabled = True
        Dim maxRowCount As Integer
        maxRowCount = 51
        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.gridUserEntries.Rows.Add(item)

                End If

            Next
            If gridUserEntries.Rows.Count > maxRowCount Then
                MsgBox("The max number of rows are 50")
               
                'gridUserEntries.RowsRemoved()
                'gridUserEntries.AllowUserToAddRows = False

                ' gridUserEntries.Rows.Remove(gridUserEntries.RowCount)
                btnValidate.Enabled = False
            Else
                btnValidate.Enabled = True
                btnRetrieve.Enabled = True
                'gridUserEntries.Rows.Remove(row)

            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try

    End Sub

我试过 gridUserEntries.AllowUserToAddRows = False

我希望能够粘贴超过 50 条记录,但只显示 datagridview 中的前 50 行。

变化:

For Each line As String In Clipboard.GetText.Split(vbNewLine)

收件人:

For Each line As String In Clipboard.GetText.Split(vbNewLine).Where(Function(s) Not String.IsNullOrWhiteSpace(s)).Select(Function(s) s.Trim()).Take(50)