Как создать Excel-подобное поведение вставки в Winforms? - PullRequest
2 голосов
/ 16 июня 2011

Как создать представление, которое принимает столбец строковых значений, аналогичный Excel. Когда я копирую и вставляю несколько строк текста, каждая из них должна быть вставлена ​​в отдельную строку.

Вот мой код, но я вставил только одну ячейку.

var dt = new DataTable("Guids");
dt.Columns.Add("Guid");
dataGridView1.DataSource = dt;

Его не нужно реализовывать как сетку данных, если лучше подходит другой тип контрольных комплектов.

1 Ответ

2 голосов
/ 18 июня 2011

Возможно, что-то подобное в какой-то момент после получения какого-либо события (нажатие клавиши, нажатие меню и т. Д.), Указывающего, что контент должен быть вставлен в вашу сетку?

var clipData = Clipboard.GetData(DataFormats.Text).ToString();
if (string.IsNullOrEmpty(clipData))
    return;

var dataSource = new DataTable("data");
dataSource.Columns.Add("lines"); 

foreach(var line in clipData.Split('\n'))
    dataSource.Rows.Add(line);

datagrid.DataSource = dataSource;

Это не учитывает все разнообразиекоторый может прийти из буфера обмена, который я представляю, но охватывает основную концепцию разделения текстовых данных из буфера обмена по переносу строки и создания из этого нескольких строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...