Копирование / вставка .NET DataGrid - PullRequest
1 голос
/ 13 февраля 2010

У меня есть сетка данных в C # Project. То, что я пытаюсь сделать, это скопировать данные из сетки данных, а затем вставить в файл. Затем отредактируйте содержимое и вставьте обратно в сетку данных из буфера обмена.

Я могу скопировать данные из сетки данных в буфер обмена, но не могу вставить / заменить текст из буфера обмена в сетку данных.

Как вставить данные из буфера обмена в сетку данных?

Пример данных, скопированных из таблицы данных и вставленных в файл:

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

1 голос
/ 13 февраля 2010

Добавьте функцию «Вставить» или обработайте событие 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];
        }
    }
1 голос
/ 13 февраля 2010

Я потратил некоторое время на поиски решения вашей проблемы, посмотрите Опция глобального копирования и вставки В DataGridView есть ссылка на код в нижней части сообщения ( секунда последний ).

Надеюсь, это поможет, С наилучшими пожеланиями, Том.

...