private void ForeachNode(TreeNode node) { if (node.Nodes.Count == 0) { DepartmentLayer layer = (DepartmentLayer)node.Tag; int[] deptids = layer.GetDepartment( ); for (int i = 0; i < deptids.Length; i++) { Department dept = new Department(deptids[i]); ListViewItem item = new ListViewItem( ); item.Text = dept.Name; item.Tag = dept; if (dept.NoUse == 1) { item.ImageIndex = 4; } else { item.ImageIndex = 3; } lvwDept.Items.Add(item); } } else { foreach (TreeNode nd in node.Nodes) { ForeachNode(nd); } } }
private void tvwDeptlayer_AfterSelect(object sender, TreeViewEventArgs e) { if (tvwDeptlayer.SelectedNode.Tag == null) { return; } if (tvwDeptlayer.SelectedNode.Nodes.Count == 0) { DepartmentLayer layer = (DepartmentLayer)tvwDeptlayer.SelectedNode.Tag; int[] deptids = layer.GetDepartment( ); lvwDept.Items.Clear( ); lvwEmployee.Items.Clear( ); for (int i = 0; i < deptids.Length; i++) { Department dept = new Department(deptids[i]); ListViewItem item = new ListViewItem( ); item.Text = dept.Name; item.Tag = dept; if (dept.NoUse == 1) { item.ImageIndex = 4; } else { item.ImageIndex = 3; } lvwDept.Items.Add(item); Employee[] employies = dept.GetEmployeies( ); for (int j = 0; j < employies.Length; j++) { ListViewItem item1 = new ListViewItem( ); item1.Text = employies[j].Name; item1.Tag = employies[j]; item1.SubItems.Add(employies[j].UserCode); switch (employies[j].Role) { case 1: item1.SubItems.Add("医生"); break; case 2: item1.SubItems.Add("护士"); break; default: item1.SubItems.Add(""); break; } item1.ImageIndex = 2; lvwEmployee.Items.Add(item1); } } } else { lvwDept.Items.Clear( ); lvwEmployee.Items.Clear( ); foreach (TreeNode nd in tvwDeptlayer.SelectedNode.Nodes) { if (nd.Nodes.Count == 0) { DepartmentLayer layer = (DepartmentLayer)nd.Tag; int[] deptids = layer.GetDepartment( ); for (int i = 0; i < deptids.Length; i++) { Department dept = new Department(deptids[i]); ListViewItem item = new ListViewItem( ); item.Text = dept.Name; item.Tag = dept; if (dept.NoUse == 1) { item.ImageIndex = 4; } else { item.ImageIndex = 3; } lvwDept.Items.Add(item); } } else { ForeachNode(nd); } } } }