C dataGridView用法(10)

发布时间:2021-06-08

C# dataGridView用法,C#中dataGridView的快速学习

DataGridView.ClipboardCopyMode 属性被设定为

DataGridViewClipboardCopyMode.Disable 以外的情况时,「Ctrl + C」按下的时候,被选择的单元格的内容会拷贝到系统剪切板内。格式有: Text, UnicodeText,Html, CommaSeparatedValue。可以直接粘贴到 Excel 内。

ClipboardCopyMode 还可以设定 Header部分是否拷贝:

EnableAlwaysIncludeHeaderText 拷贝Header部分、EnableWithoutHeaderText 则不拷贝。默认是 EnableWithAutoHeaderText , Header 如果选择了的话,就拷贝。

1) 编程方式实现剪切板的拷贝

Clipboard.SetDataObject(DataGridView1.GetClipboardContent())

2) DataGridView 的数据粘贴

实现剪切板的拷贝比较容易,但是实现 DataGridView 的直接粘贴就比较难了。「Ctrl + V」按下进行粘贴时,DataGridView 没有提供方法,只能自己实现。

以下,是粘贴时简单的事例代码,将拷贝数据粘贴到以选择单元格开始的区域内。

[C#]

//当前单元格是否选择的判断

if (DataGridView1.CurrentCell == null)

return;

int insertRowIndex = DataGridView1.CurrentCell.RowIndex;

// 获取剪切板的内容,并按行分割

string pasteText = Clipboard.GetText();

if (string.IsNullOrEmpty(pasteText))

return;

pasteText = pasteText.Replace(" ", " ");

pasteText = pasteText.Replace(' ', ' ');

pasteText.TrimEnd(new char[] { ' ' });

string[] lines = pasteText.Split(' ');

bool isHeader = true;

foreach (string line in lines)

{

// 是否是列头

if (isHeader)

{

isHeader = false;

continue;

}

// 按 Tab 分割数据

string[] vals = line.Split(' ');

// 判断列数是否统一

if (vals.Length - 1 != DataGridView1.ColumnCount)

throw new ApplicationException("粘贴的列数不正确。");

DataGridViewRow row = DataGridView1.Rows[insertRowIndex];

C dataGridView用法(10).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219