1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
| using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace treeView_prog
{
public partial class Form1 : Form
{
System.Data.SqlClient.SqlConnection con;
//DataSet ds1;
System.Data.SqlClient.SqlDataAdapter da;
DataSet ds1;
int MaxRows = 0;
int inc = 0;
public Form1()
{
InitializeComponent();
try
{
con = new System.Data.SqlClient.SqlConnection();
ds1 = new DataSet();
con.ConnectionString = "Data Source=reporting;Initial Catalog=Reporting;Integrated Security=True";
con.Open();
DataTable dtTree = new DataTable();
string sql = "SELECT * From Ampel.tim_TreeView";
da = new System.Data.SqlClient.SqlDataAdapter(sql, con);
da.Fill(dtTree);
da.Fill(ds1, "TreeView");
da.Dispose();
treeView1.BeginUpdate();
treeView1.Nodes.Clear();
CreateTreeView(treeView1.Nodes, 0, dtTree);
//treeView1.Nodes[0].Expand();
treeView1.Select();
treeView1.EndUpdate();
con.Close();
}
catch (FileNotFoundException fs)
{
tB1.Text = "Error: File not found - " + fs.FileName;
}
catch (Exception ex)
{
tB1.Text = ex.ToString();
}
}
// create tree
protected void CreateTreeView(TreeNodeCollection parentNode, int parentID, DataTable mytab)
{
foreach (DataRow dta in mytab.Rows)
{
if (Convert.ToInt32(dta["ParentID"]) == parentID)
{
String key = dta["RecordID"].ToString();
String text = dta["Name"].ToString();
TreeNodeCollection newParentNode = parentNode.Add(key, text).Nodes;
CreateTreeView(newParentNode, Convert.ToInt32(dta["RecordID"]), mytab);
}
}
}
private void treeView_ItemDrag(object sender,
System.Windows.Forms.ItemDragEventArgs e)
{
DoDragDrop(e.Item, DragDropEffects.Move);
}
private void treeView_DragEnter(object sender,
System.Windows.Forms.DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
private void treeView_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
TreeNode NewNode;
if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode", false))
{
Point pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));
TreeNode DestinationNode = ((TreeView)sender).GetNodeAt(pt);
NewNode = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");
if (DestinationNode.TreeView != NewNode.TreeView || DestinationNode.TreeView == NewNode.TreeView)
{
DestinationNode.Nodes.Add((TreeNode)NewNode.Clone());
DestinationNode.Expand();
inc = treeView1.SelectedNode.Index;
//Remove Original Node
NewNode.Remove();
Updating_node();
}
}
}
private void Updating_node()
{
System.Data.OleDb.OleDbCommandBuilder cb;
cb = new System.Data.OleDb.OleDbCommandBuilder();
System.Data.DataRow dRow2 = ds1.Tables["TreeView"].Rows[inc];
dRow2[0]=treeView1.SelectedNode.Parent.Text.ToString();
da.Update(ds1, "TreeView");
MessageBox.Show("Data updated");
}
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
try
{
tB1.Text = "";
tB2.Text = "";
tB3.Text = "";
tB1.Text = treeView1.SelectedNode.Name.ToString();
tB3.Text = treeView1.SelectedNode.Text.ToString();
tB2.Text = treeView1.SelectedNode.Parent.Name.ToString();
}
catch { }
}
}
} |
Partager