从DataGridView中拖放数据到TreeView

热卖产品:

从DataGridView中拖放数据到TreeView

实例说明

日常操作中,通过DataGridView控件可以显示数据库中记录,由于受记录数目和界面美观限制,对于多条记录的显示,DataGridView控件存在很多不足。例如,一条记录中有很多不同分类信息,直接看到它的全部内容几乎不可能,此时必须拖动滚动条才能看到,这样做虽然看到内容,但有些麻烦,本实例通过C#程序实现选定记录拖至TreeView控件直接显示。首先运行本实例,然后选定目标记录,接着按下鼠标左键,移动鼠标至TreeView控件,最后显示数据记录,实例运行结果如图1所示。


1 DataGridView中拖放数据到TreeView

关键技术

本实例主要用到DataGridView控件的MouseDown事件和TreeView控件的MouseEnter事件。下面对本实例中用到的关键技术进行详细讲解。

(1)DataGridView控件的MouseDown事件的处理方法

MouseDown事件是指当鼠标指针在DataGridView控件上方并按下鼠标按钮时发生,该事件在本实例中的处理方法如下:

private void dataGridView1_MouseDown(object sender, MouseEventArgs e)

参说说明

R sender:表示支持.NET Framework类层次结构中所有类的基类对象。

 e:表示为MouseDown事件提供数据。

(2)TreeView控件的MouseEnter事件的处理方法

MouseEnter事件是指当鼠标进入TreeView控件可见部分时发生,该事件在本实例中的处理方法如下:

private void treeView1_MouseEnter(object sender, EventArgs e)

参说说明

R sender:表示支持.NET Framework类层次结构中所有类的基类对象。

 e:表示为MouseEnter事件提供数据。

技巧:在进行拖放操作时,既可以选定单行,又可以选定多行。方法一:先选定一条记录,在DataGridView控件中默认状态下是行标题选定;然后按下键盘上的<Ctrl>键,选定需要的记录,拖放到TreeView控件上。方法二:选定多条连续记录中任意一个端点记录,按下键盘上<Shift>键,选中另一端点记录,拖放到TreeView控件上。

设计过程

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

(2)更改默认窗体Form1的Name属性为Frm_Main,在该窗体中首先添加一个DataGridView控件,设置其AllowUserToAddRows属性为False,主要用来显示数据库中数据记录;添加一个TreeView控件,设置其AllowDrop属性为True,主要用来接收从DataGridView控件中拖放的数据记录。

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

Frm_Main窗体加载时,首先从数据库中读取记录显示在DataGridView控件中。代码如下:

 

在DataGridView控件上按下鼠标按键,通过二维数组recordInfo保存选定记录。代码如下:

 

把鼠标移动到TreeView控件上,遍历数组recordInfo中每一条记录,添加在TreeView控件下。代码如下:

 

秘笈心法

心法领悟020:判断DataGridView中的某行是否被选定。

通过DataGridView控件的行对象(即DataGridViewRow类的实例)的Selected属性可以判断该行是否被选定。如果该行被选定,则Selected属性值为true,否则为 false。

如无特殊说明均为原创,转载请附上原文地址。:佛系糖果的博客 » 从DataGridView中拖放数据到TreeView

赞 (0) 打赏

说点什么

avatar
  Subscribe  
提醒

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

支付宝扫一扫打赏

微信扫一扫打赏