.NET DataGrid复制/粘贴

时间:2010-02-12 23:46:32

标签: c# .net datagrid insert clipboard

我在C#Project中有一个数据网格。 我想要做的是从datagrid复制数据,然后粘贴到文件中。然后编辑内容并从剪贴板插回数据网格。

我可以将数据从datagrid复制到剪贴板,但是我无法将剪贴板中的文本插入/替换为datagrid。

如何将数据从剪贴板插入数据网格?

从datagrid复制并粘贴到文件中的示例数据:

>  0 base_hair00 Egyptian 0 2 2 2 2 1 _S_Hair000_Front_L _C_elf-f-hair000 0 Hair000_Bottom_S _C_elf-f-hair000 0 Hair000_Top_S _C_elf-f-hair000 0 - - 0 - - 0 - -

我试图在最后插入数据网格

>  0 base_hair02 Egyptian2 0 2 2 2 2 1 _S_Hair000_Front_L _C_elf-f-hair000 0 Hair000_Bottom_S _C_elf-f-hair000 0 Hair000_Top_S _C_elf-f-hair000 0 - - 0 - - 0 - -

2 个答案:

答案 0 :(得分:1)

我花了一些时间挖掘并找到问题的解决方案,看Global Copy And Paste Option In DataGridView,其中有一个链接在帖子底部附近的代码(second last one)。

希望这有帮助, 最好的祝福, 汤姆。

答案 1 :(得分:1)

添加“粘贴”功能或处理KeyDown事件以侦听像这样的粘贴操作:

    void datagrid_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
        if (e.KeyCode == System.Windows.Forms.Keys.V && e.Control)
        {
            string data = Clipboard.GetData(DataFormats.Text).ToString();
            string[] cells = data.Split('\t');
            for (int i = 0; i < cells.Length; i++)
                datagrid[datagrid.CurrentRowIndex, i] = cells[i];
        }
    }