예제 #1
0
 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);
         }
     }
 }
예제 #2
0
        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);
                    }
                }
            }
        }