Ctrl + x剪切操作不适用于DataGridView

时间:2017-02-22 12:29:38

标签: c# winforms datagridview

我已将DataTableDataGridView绑定,如下图所示。

DataGridView

我需要选择多个单元格并按键盘上的 ctrl + x 执行剪切操作,但我无法使其工作。

有谁知道如何实现这个目标?

1 个答案:

答案 0 :(得分:0)

当您的应用程序收到" cut"时,您需要做什么(cntrl-X)命令用于将选定的单元格复制到剪贴板。然后,您需要首先更新数据库(删除/删除' cut'数据),然后刷新datagridview以反映更改,从而实际地从数据网格中删除这些单元格。

注意:如果您想等到实际提交数据更改,直到数据不再在剪贴板中,那么这取决于您的设计,因为如果您将所有更改永久化,则执行潜在的更难&# 39;撤消&#39 ;.

要复制选定的单元格,您的代码应如下所示:

private void CopyPasteButton_Click(object sender, System.EventArgs e)
{
    if (this.DataGridView1
        .GetCellCount(DataGridViewElementStates.Selected) > 0)
{
    try
    {
        // Add the selection to the clipboard.
        Clipboard.SetDataObject(
            this.DataGridView1.GetClipboardContent());

        // Replace the text box contents with the clipboard text.
        this.TextBox1.Text = Clipboard.GetText();
    }
    catch (System.Runtime.InteropServices.ExternalException)
    {
        this.TextBox1.Text = 
            "The Clipboard could not be accessed. Please try again.";
    }
}

我发现您可能需要解决的潜在问题。在您的图片中,您只选择数据网格视图的某些列。如果此视图表示整个数据库表,您可能希望用户选择整行而不是部分行。