using System;using System.Collections.Generic;using System.Text;using System.Windows.Forms;using System.Data;namespace Charge{ public class TreeFunction { public void TreeRoot(ref TreeView myT, Form myForm) {
foreach (MenuItem myMI in myForm.Menu.MenuItems) { TreeNode myTreeN = new TreeNode(); myTreeN.Text = myMI.Text; TreeNod(myMI, myTreeN, false); myT.Nodes.Add(myTreeN); } myT.ShowRootLines = true; myT.SelectedNode = myT.Nodes[0]; myT.Focus(); } public TreeNode TreeNod(System.Windows.Forms.MenuItem m, TreeNode asTN, bool asbl) { TreeNode TreeN1 = new TreeNode(); //if (asbl && m.Text!=System.Convert.ToString('-')) if (asbl) { TreeN1.Text = m.Text; asTN.Nodes.Add(TreeN1); } else { TreeN1 = asTN; } foreach (System.Windows.Forms.MenuItem subm in m.MenuItems) { TreeNod(subm, TreeN1, true); } return TreeN1; } public void TreeSetRightByUserGroup(string UserGroupbm, TreeNodeCollection myTree, wglpforever myConM) { DataSet myDS; foreach (TreeNode tn in myTree) { string lsSql = "select * from drv_bksf.drv_usergroupmenu where usergroupbm='" + UserGroupbm + "' and usergroupmenu='" + tn.Text + "'"; myDS = myConM.Data_Fill(lsSql, "drv_fei_usergroupmenu"); if (myDS == null) { return; } if (myDS.Tables[0].Rows.Count == 1) { tn.Checked = true;
} else { tn.Checked = false; } myDS.Clear(); if (tn.Nodes.Count != 0) TreeSetRightByUserGroup(UserGroupbm, tn.Nodes,myConM); } } //选择子节点 public void TreeSelectRight(TreeNodeCollection myTree, bool myIndex) { foreach (TreeNode tn in myTree) { tn.Checked = myIndex; } } //选择父节点 public void TreeSelectParent(TreeNode Tn, bool lsCheck) { if (Tn.Parent == null) return; switch (lsCheck) { case true: Tn.Parent.Checked = true; break; case false: Tn.Parent.Checked = false; break; default: break; } } public int TreeSaveRight(string UserGroupbm, TreeNodeCollection myTree, wglpforever myConM) {
foreach (TreeNode tn in myTree) { if (tn.Checked == true) { string lsSql = "insert into drv_bksf.drv_usergroupmenu(usergroupbm,usergroupmenu) values('" + UserGroupbm + "','" + tn.Text + "')"; try { myConM.IUDBySql(lsSql); } catch (Exception e) { MessageBox.Show(e.ToString(), "error"); return 0; } } if (tn.Nodes.Count != 0) TreeSaveRight(UserGroupbm, tn.Nodes, myConM); } return 1; } }}