c# - 如何在 Winforms 中创建类似 excel 的插入行为?

标签 c# .net winforms datagridview

如何创建一个 View ,它接受一列字符串值,类似于 Excel。 当我复制粘贴多行文本时,每一行都必须插入到它自己的行中。

这是我的代码,但我只插入了一个单元格。

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

如果其他类型的控件套件更好,则不需要将其实现为数据 GridView 。

最佳答案

可能在收到任何事件(按键、菜单点击等)指示内容应粘贴到您的网格后的某个时候发生类似的事情?

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;

这并没有说明我想象中的剪贴板可能出现的所有变化,但涵盖了通过换行符从剪贴板拆分文本数据并从中创建多行的基本概念。

关于c# - 如何在 Winforms 中创建类似 excel 的插入行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6371521/

相关文章:

c# - 具有默认值的 XmlSerializer 和 List<T>

c# - 根据 Web API 2 上的请求和响应构建/映射模型的最佳方法

c# - DatePickerTextBox 切换日月

c# - 如何以编程方式为 log4net 中的两个附加程序获取记录器?

c# - 如何判断用户是否使用绑定(bind)源修改了数据?

c# - 如何存储在线程池中运行的任务的结果?

c# - Delegate.BeginInvoke()/EndInvoke() 实现

c# - CryptoAPI AcquireContext 无法检索 key 容器

c# - 从任务栏打开 Winform

c# - 使用 LockBits 复制位图的矩形部分