只有前50行从winforms中的datagridview复制到剪贴板

时间:2013-02-14 09:45:59

标签: .net vb.net winforms datagridview copy-paste

我有一个datagridview myDgv,数据将从数据库中填充。

我正在执行Ctrl + A(全选)和复制(Ctrl + C) 当我将复制的数据粘贴到Excel中时,只会复制前50行数据 其余的行是空白的。

以下是我的keydown事件中的代码

If e.Control AndAlso e.KeyCode = Keys.C Then
    Dim d As DataObject = myDgv.GetClipboardContent()
    Clipboard.SetDataObject(d)
    e.Handled = True
End If

当我向下滚动网格直到结束(最后一行)并按Ctrl + C然后将其粘贴到excel中时, 所有的行都被粘贴了。

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

使用DataGridView.SelectAll方法使用ctrl + A选择所有行。

并使用以下事件来获取按键:

void dataGridView1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Control && e.KeyCode == Keys.C)
    {
        //call to DataGridView.SelectAll Method
    }
}