惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
B
Blog RSS Feed
大猫的无限游戏
大猫的无限游戏
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 【当耐特】
MongoDB | Blog
MongoDB | Blog
Hugging Face - Blog
Hugging Face - Blog
有赞技术团队
有赞技术团队
T
The Blog of Author Tim Ferriss
B
Blog
小众软件
小众软件
T
Tailwind CSS Blog
MyScale Blog
MyScale Blog
I
InfoQ
Engineering at Meta
Engineering at Meta
Blog — PlanetScale
Blog — PlanetScale
P
Proofpoint News Feed
H
Help Net Security
雷峰网
雷峰网
S
SegmentFault 最新的问题
V
Visual Studio Blog
爱范儿
爱范儿

博客园 - huadust

msdn 网络编程 委托用法 注册表操作 DateTime各种用法 [转]将dll汇入exe 用DataTable构建树 Lock Review String Review Class Review DataTable opertion 2009_01_15_星期三 2009_01_02_星期五 2008_12_31_星期三 2008_12_24_星期三 2008_12_20_星期六 2008_12_17_星期三 2008_12_06_星期六 2008_12_04_星期四
Drag DataGridView Data To TreeView
huadust · 2009-07-17 · via 博客园 - huadust

1. Define below events, and setting TreeView property AllowDrop = True

//private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
//{
//    ataGridView1.DoDragDrop(e.RowIndex, DragDropEffects.Copy);
//}

private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
{
    dataGridView1.DoDragDrop(dataGridView1.SelectedRows, DragDropEffects.Copy);
}
private void treeView1_DragDrop(object sender, DragEventArgs e)
{
    
if (e.Data.GetDataPresent(typeof(DataGridViewSelectedRowCollection)))
    {
        DataGridViewSelectedRowCollection selected 
= (DataGridViewSelectedRowCollection)e.Data.GetData(typeof(DataGridViewSelectedRowCollection));foreach (DataGridViewRow row in selected)
        {
            
string key = row.Cells["Index"].Value.ToString();if (m_treeTable.Rows.Contains(key) == false)
            {
                DataRow dr 
= m_treeTable.NewRow();
                dr[
"Index"= row.Cells["Index"].Value.ToString();
                dr[
"Name"= row.Cells["Name"].Value.ToString();
                dr[
"Father"= row.Cells["Father"].Value.ToString();
                m_treeTable.Rows.Add(dr);
                AddTreeNode(dr);
            }
        }
    }
    
this.treeView1.SelectedNode.BackColor = Color.White;
}
private void treeView1_DragEnter(object sender, DragEventArgs e)
{
    
if (e.Data.GetDataPresent(typeof(DataGridViewSelectedRowCollection)))
    {
        e.Effect 
= DragDropEffects.Copy;
    }
    
else
    {
        e.Effect 
= DragDropEffects.None;
    }
}
private void treeView1_DragOver(object sender, DragEventArgs e)
{
    TreeNode node 
= treeView1.SelectedNode;
    
if (node != null)
    {
         node.BackColor 
= Color.White;
     }
     Point targetPoint 
= treeView1.PointToClient(new Point(e.X, e.Y));
     node 
= this.treeView1.GetNodeAt(targetPoint);
     
//TreeNode node = this.treeView1.GetNodeAt(e.X, e.Y);
    if (node != null)
     {
         treeView1.SelectedNode 
= node;
         treeView1.SelectedNode.BackColor 
= Color.LightBlue;
     }
}

在模仿中成长,在创新中成功

posted on 2009-07-17 14:43  huadust  阅读(493)  评论()    收藏  举报