TreeView常用代码,如:拖动节点什么的 我一次还没用TreeView呢,这个事高级控件吧!怎么用啊?请大家把常用的方法告诉偶,万分感谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 数据库字段IDParentIDEquipmentName代码:递归绑定1protected void MachineBind(Int32 KindID)2 {3 TreeView1.Nodes.Clear();4 TreeNode newnode = new TreeNode();5 T_Machine dao = new T_Machine();67 DataTable dt = dao.GetMachineByKindID(KindID);8 this.InitTree(this.TreeView1.Nodes, 0, dt);9 }1011 /**//// <summary>12 /// 初始化树13 /// </summary>14 private void InitTree(TreeNodeCollection Nds, int parentID, DataTable dt)15 {16 TreeNode tmpNd;17 DataRow[] rows = dt.Select("MachineParentID=" + parentID);18 try19 {20 //使用foreach语句 来判断递归结束的条件21 foreach (DataRow row in rows)22 {23 tmpNd = new TreeNode();24 tmpNd.Value = row["MachineID"].ToString();25 tmpNd.Text = row["MachineName"].ToString();26 tmpNd.ToolTip = row["MachineFlag"].ToString();2728 Nds.Add(tmpNd);2930 InitTree(tmpNd.ChildNodes, Convert.ToInt32(tmpNd.Value), dt);31 }32 }33 catch { }34 }3536查询1查询#region 查询2 protected void ImgBut_Select_Click(object sender, ImageClickEventArgs e)3 {4 TreeView1.CollapseAll();5 GetNode(TreeView1.Nodes);6 }7 //递归查询8 protected void GetNode(TreeNodeCollection tc)9 {10 foreach (TreeNode TNode in tc)11 {12 if (TNode.Text.IndexOf(txt_Select.Text.Trim())!=-1)13 {14 ExpandParent(TNode); 15 TNode.ImageUrl = "~/TreeLineImages/select.gif";16 }17 else18 {19 TNode.ImageUrl = "";20 }2122 GetNode(TNode.ChildNodes);23 }24 }25 //展开父节点26 protected void ExpandParent(TreeNode node)27 {28 if (node.Parent != null)29 {30 node.Parent.Expand();31 ExpandParent(node.Parent);32 }33 }34 #endregion删除1/**//// <summary>2 /// 删除 (需设置:TreeView1.ShowCheckBoxes = TreeNodeTypes.Leaf;)3 /// </summary>4 protected void but_Del_Click(object sender, EventArgs e)5 {6 T_Machine dao = new T_Machine();7 Int32 count = TreeView1.CheckedNodes.Count;8 for (int i = 0; i < count; i++)9 {10 dao.Delete(Convert.ToInt32(TreeView1.CheckedNodes[i].Value));11 }12 MachineBind(Convert.ToInt32(Menu1.SelectedItem.Value));13 }14得到所有子节点1 protected void DisplayChildNodesValue(TreeNodeCollection nodes)2 {3 foreach (TreeNode TNode in nodes)4 { 5 Response.Write(TNode.Value.ToString() + "<br>"); 6 DisplayChildNodesValue(TNode.ChildNodes);7 }8 }9 protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)10 {11 DisplayChildNodesValue(TreeView1.SelectedNode.ChildNodes);12 } TreeView用XML文档作数据源绑定数据,再方便不过了 求一条SQL语句?查询名次 iframe的内部子系统如何获得父系统对象 dropdownlist值传递的问题 人人网的人人豆支付 为什么<HyperLink>和<A href>传值效果会不同? 100分问专家:使用vs2005发布网站,每次它都要清除原来所有文件吗? 如何动态设置repeat模版(不使用acsx,用文本)? 关于Dropdownlist控件的 的级联 C# 实现 谁能谈一谈域认证和本地认证 我用Repeater做了一个表格显示,我想在某个单元格中添加一个控件,如何做?? 做过身份证校验的进来 看看这个为什么能通过? 我郁闷呀,id增长到10的限制
数据库字段
ID
ParentID
EquipmentName
代码:递归绑定
1protected void MachineBind(Int32 KindID)
2 {
3 TreeView1.Nodes.Clear();
4 TreeNode newnode = new TreeNode();
5 T_Machine dao = new T_Machine();
6
7 DataTable dt = dao.GetMachineByKindID(KindID);
8 this.InitTree(this.TreeView1.Nodes, 0, dt);
9 }
10
11 /**//// <summary>
12 /// 初始化树
13 /// </summary>
14 private void InitTree(TreeNodeCollection Nds, int parentID, DataTable dt)
15 {
16 TreeNode tmpNd;
17 DataRow[] rows = dt.Select("MachineParentID=" + parentID);
18 try
19 {
20 //使用foreach语句 来判断递归结束的条件
21 foreach (DataRow row in rows)
22 {
23 tmpNd = new TreeNode();
24 tmpNd.Value = row["MachineID"].ToString();
25 tmpNd.Text = row["MachineName"].ToString();
26 tmpNd.ToolTip = row["MachineFlag"].ToString();
27
28 Nds.Add(tmpNd);
29
30 InitTree(tmpNd.ChildNodes, Convert.ToInt32(tmpNd.Value), dt);
31 }
32 }
33 catch { }
34 }
35
36查询
1查询#region 查询
2 protected void ImgBut_Select_Click(object sender, ImageClickEventArgs e)
3 {
4 TreeView1.CollapseAll();
5 GetNode(TreeView1.Nodes);
6 }
7 //递归查询
8 protected void GetNode(TreeNodeCollection tc)
9 {
10 foreach (TreeNode TNode in tc)
11 {
12 if (TNode.Text.IndexOf(txt_Select.Text.Trim())!=-1)
13 {
14 ExpandParent(TNode);
15 TNode.ImageUrl = "~/TreeLineImages/select.gif";
16 }
17 else
18 {
19 TNode.ImageUrl = "";
20 }
21
22 GetNode(TNode.ChildNodes);
23 }
24 }
25 //展开父节点
26 protected void ExpandParent(TreeNode node)
27 {
28 if (node.Parent != null)
29 {
30 node.Parent.Expand();
31 ExpandParent(node.Parent);
32 }
33 }
34 #endregion
删除
1/**//// <summary>
2 /// 删除 (需设置:TreeView1.ShowCheckBoxes = TreeNodeTypes.Leaf;)
3 /// </summary>
4 protected void but_Del_Click(object sender, EventArgs e)
5 {
6 T_Machine dao = new T_Machine();
7 Int32 count = TreeView1.CheckedNodes.Count;
8 for (int i = 0; i < count; i++)
9 {
10 dao.Delete(Convert.ToInt32(TreeView1.CheckedNodes[i].Value));
11 }
12 MachineBind(Convert.ToInt32(Menu1.SelectedItem.Value));
13 }
14得到所有子节点
1 protected void DisplayChildNodesValue(TreeNodeCollection nodes)
2 {
3 foreach (TreeNode TNode in nodes)
4 {
5 Response.Write(TNode.Value.ToString() + "<br>");
6 DisplayChildNodesValue(TNode.ChildNodes);
7 }
8 }
9 protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
10 {
11 DisplayChildNodesValue(TreeView1.SelectedNode.ChildNodes);
12 }