大家好我正试图让员工树层次结构下拉 [英] Hi all am trying to get employee tree Hierarchy in drop down

查看:49
本文介绍了大家好我正试图让员工树层次结构下拉的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试过的C#急剧代码在下面

C# sharp code which i have tried is below

public void GetReportee()
{
    IList<Employee> lstEmployee = new List<Employee>();
    IList<Employee> ListOne = new List<Employee>();

    lstEmployee = objBCHReviewService.GetReportee(out ListOne);
     IList<Employee> listEmployeeTwo = new List<Employee>();
     int   count=1;
    ddlEmployee.Items.Insert(0, new ListItem("All", "0"));
    foreach (Employee emp in ListOne)
    {
        ddlEmployee.Items.Add(emp.FirstName);
        ddlEmployee.Items[count].Attributes.Add("style", "color:blue");
        listEmployeeTwo = lstEmployee.Where(x => x.ManagerEmployeeId == emp.EmployeeId).ToList();
        foreach (Employee em in listEmployeeTwo)
        {
            String EmpName = "&nbsp;&nbsp;&nbsp;" + em.FirstName;
            ddlEmployee.Items.Add(new ListItem(Server.HtmlDecode(EmpName), Convert.ToString(em.EmployeeId)));
        }
        count += listEmployeeTwo.Count() + 1;
    }

}

        public IList<employee> GetReportee(out IList<employee>ListOne)
        {
            IList<employee> objListOneEmployee = new List<employee>();
            IList<employee> objListEmployee = new List<employee>();

            Employee objEmployee = null;
            using (DbCommand dbcGetEmployee = db.GetStoredProcCommand("usp_GetEmployees"))
            {
                db.AddInParameter(dbcGetEmployee, "@EmployeeUID", DbType.String, "512677");
                IDataReader dr = db.ExecuteReader(dbcGetEmployee);
               while (dr.Read())
               {
                   objEmployee = new Employee();
                   if (dr["EmployeeId"] != DBNull.Value)
                       objEmployee.EmployeeId = Convert.ToInt16(dr["EmployeeId"]);
                   if (dr["FirstName"] != DBNull.Value)
                       objEmployee.FirstName = Convert.ToString(dr["FirstName"]);
                   if (dr["LastName"] != DBNull.Value)
                       objEmployee.LastName = Convert.ToString(dr["LastName"]);
                   objListOneEmployee.Add(objEmployee);
               }
                ListOne=objListOneEmployee;
               dr.NextResult();
                while(dr.Read())
                {
                    objEmployee = new Employee();
                    if (dr["EmployeeId"] != DBNull.Value)
                        objEmployee.EmployeeId = Convert.ToInt16(dr["EmployeeId"]);
                    if (dr["FirstName"] != DBNull.Value)
                        objEmployee.FirstName = Convert.ToString(dr["FirstName"]);
                    if (dr["ManagerEmployeeId"] != DBNull.Value)
                        objEmployee.ManagerEmployeeId = Convert.ToInt16(dr["ManagerEmployeeId"]);
                    if (dr["ManagerName"] != DBNull.Value)
                        objEmployee.ManagerName = Convert.ToString(dr["ManagerName"]);
                    objListEmployee.Add(objEmployee);
                }
                
                 
            }
            return objListEmployee;
        }







请帮帮我,我希望在我的下拉菜单中得到这样的结果。如果登录下拉列表,它应该包含所有将EmployeeID作为其SupervisorID的名称




Please help me I want to get like this in my drop down.if am logging in the drop down it should contain names who all are having my EmployeeID as their SupervisorID

1)User1--( User1 supervisor id will be My EmployeeId)
    1.1)user2--(user2's supervisor id will be  User1's EmployeeId )
        1.1.1)user3--(user3's supervisor id will be  User2's EmployeeId )
        1.1.2)user4--(user4's supervisor id will be  User2's EmployeeId )
              1.1.2.1)user5--(user5's supervisor id will be  User4's EmployeeId )
                     1.1.2.1.1)--(user6's supervisor id will be  User5's EmployeeId) 
2)user7--( User1 supervisor id will be My EmployeeId)

        2.1)user8--(user8's supervisor id will be  User7's EmployeeId )
            2.1.1)user9--(user3's supervisor id will be  User8's EmployeeId )
            2.1.2)user10--(user4's supervisor id will be  User8's EmployeeId )
3)user11--( User1 supervisor id will be My EmployeeId)

推荐答案

我建​​议阅读这些文章:

递归遍历分层数据结构使用LINQ [ ^ ]

如何在LINQ中编写递归查询 [ ^ ]

重复C#和LINQ中的分层连接 [ ^ ]

层次结构数据结构与Treeview控件的动态绑定 [ ^ ]
I'd suggest to read these articles:
Recursively Traversing a Hierarchical Data Structure Using LINQ[^]
How to write recursive Query in LINQ[^]
Recursive Hierarchical Joins in C# and LINQ[^]
Dynamic Binding Of Hierarchy Data Structure To Treeview Control[^]


这篇关于大家好我正试图让员工树层次结构下拉的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆