像Excel一样复制DataGridView中数据

热卖产品:

像Excel一样复制DataGridView中数据

实例说明

在使用DataGridView控件显示数据时,有时需要对无规律性的数据进行显示,在这种情况下是无法用代码进行筛选的,本实例完成在DataGridView控件中像Excel一样对单元格复制的操作,以实现显示任意选择区域的单元格。实例运行效果如图1所示。


1 Excel一样复制DataGridView中数据

关键技术

本实例在实现时主要用到了Clipboard类,该类提供将数据置于系统剪贴板中以及从中检索数据的方法。在本实例的实现过程中,首先把在DataGridView控件中选中的内容添加到剪贴版中,然后再用Clipboard类读取剪贴版中的信息。Clipboard类的常用方法及说明如表1所示。

1 Clipboard类的常用方法及说明

枚举值

说明

Clear 从剪贴板中移除所有数据
ContainsAudio 指示在剪贴板中是否存在WaveAudio格式的数据
ContainsData 指示剪贴板中是否存在指定格式的数据,或可转换成此格式的数据
ContainsFileDropList 指示剪贴板中是否存在FileDrop格式或可转换成此格式的数据
ContainsImage 指示剪贴板中是否存在Bitmap格式或可转换成此格式的数据
ContainsText 已重载。指示剪贴板中是否存在文本数据
GetAudioStream 检索剪贴板上的音频流
GetData 从剪贴板中检索指定格式的数据
GetDataObject 检索当前位于系统剪贴板中的数据
GetFileDropList 从剪贴板中检索文件名的集合
GetImage 检索剪贴板上的图像
GetText 已重载。从剪贴板中检索文本数据
SetAudio 已重载。将WaveAudio格式的数据添加到剪贴板中
SetData 将指定格式的数据添加到剪贴板中
SetDataObject 已重载。将数据置于系统剪贴板中
SetFileDropList FileDrop格式的文件名集合添加到剪贴板中
SetImage Bitmap格式的Image添加到剪贴板中
SetText 已重载。将文本数据添加到剪贴板中

设计过程

(1)打开Visual Studio 2008开发环境,新建一个Windows窗体应用程序,命名为GetGridData。

(2)更改默认窗体Form1的Name属性为Frm_Main,在该窗体中添加两个DataGridView控件,分别用来显示源数据和粘贴的数据;添加一个Button控件,用来实现复制数据。

(3)程序主要代码如下:

在dataGridView1控件中选择要复制的单元格,用button1控件的Click事件将dataGridView1控件中所选择的单元格内容添加到dataGridView2控件中。实现代码如下:

 

自定义方法CopyDataGridView用于将选中的单元格内容添加到剪贴板中,然后将剪贴版中的文本信息存入到字符串变量中。实现代码如下:

 

自定义方法AddDataGridView是通过在剪贴版中获得的文本信息,按照文本中字符串的相应格式,以及单元格的相应位置,将其添加到dataGridView2控件中。实现代码如下:

 

秘笈心法

心法领悟019:DataGridView控件的AutoResizeColumns方法。

DataGridView控件的AutoResizeColumns方法能够实现调整所有列的宽度以适应其所有单元格(包括标题单元格)的内容。

如无特殊说明均为原创,转载请附上原文地址。:佛系糖果的博客 » 像Excel一样复制DataGridView中数据

赞 (0) 打赏

说点什么

avatar
  Subscribe  
提醒

觉得文章有用就打赏一下呗~

支付宝扫一扫打赏

微信扫一扫打赏