.NET DataGrid 复制/粘贴

发布于 2024-08-21 13:06:31 字数 596 浏览 1 评论 0原文

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

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

如何将剪贴板中的数据插入到数据网格中?

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

>  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 - -

I have a datagrid in C# Project.
What I am trying to do is copy data from datagrid and then paste in file. Then edit content and insert back to datagrid from clipboard.

I can copy data from datagrid into clipboard but I can not insert/replace text from clipboard into datagrid.

How can I insert data from clipboard into datagrid?

Sample data copied from datagrid and pasted into the file:

>  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 - -

This I am trying to insert into datagrid at the end

>  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 - -

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

奢欲 2024-08-28 13:06:31

添加“粘贴”函数或处理 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];
        }
    }

Add a "Paste" function or handle the KeyDown event to listen for a Paste action like this:

    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];
        }
    }
不语却知心 2024-08-28 13:06:31

我花了一段时间进行挖掘,找到了问题的解决方案,请查看 DataGridView 中的全局复制和粘贴选项,在帖子底部附近有一个指向代码的链接 (倒数第二个)。

I spent a while digging around and found the solution to your problem, look Global Copy And Paste Option In DataGridView, there's a link in there to code near the bottom of the posting (second last one).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文