/// <summary>
        /// 填充数据行
        /// </summary>
        /// <param name="dr"></param>
        internal void FillDataRow(DataRow dr)
        {
            DomainOrganizationUnit ou = this;

            dr[DomainOrganizationUnitPropertities.Name]        = ou.Name;
            dr[DomainOrganizationUnitPropertities.Path]        = ou.Path;
            dr[DomainOrganizationUnitPropertities.ParentName]  = ou.ParentName;
            dr[DomainOrganizationUnitPropertities.ParentPath]  = ou.ParentPath;
            dr[DomainOrganizationUnitPropertities.Manager]     = ou.Manager;
            dr[DomainOrganizationUnitPropertities.ManagerPath] = ou.ManagerPath;
        }
        /// <summary>
        /// 把当前组织单元和用户集合转换成数据表
        /// </summary>
        public DataTable ToDataTable()
        {
            DataTable dtOUSchema   = DomainOrganizationUnit.ToDataTableSchema();
            DataTable dtUserSchema = DomainUser.ToDataTableSchema();

            DataTable dtResult = new DataTable();

            dtResult.TableName = "组织单元用户表";
            foreach (DataColumn col in dtOUSchema.Columns)
            {
                col.ColumnName = "OU_" + col.ColumnName;
                dtResult.Columns.Add(new DataColumn()
                {
                    ColumnName = col.ColumnName, Caption = col.Caption
                });
            }
            foreach (DataColumn col in dtUserSchema.Columns)
            {
                col.ColumnName = "USER_" + col.ColumnName;
                dtResult.Columns.Add(new DataColumn()
                {
                    ColumnName = col.ColumnName, Caption = col.Caption
                });
            }


            foreach (DomainOrganizationUnitUser ouUser in List)
            {
                DataTable dtResultTemp = dtResult.Clone();

                DataTable dtOU    = ouUser.OU.ToDataTable();
                DataTable dtUsers = ouUser.Users.ToDataTable();

                if (dtUsers.Rows.Count == 0)
                {
                    continue;
                }

                foreach (DataRow drUser in dtUsers.Rows)
                {
                    DataRow drNew = dtResultTemp.NewRow();

                    foreach (DataRow drOU in dtOU.Rows)
                    {
                        foreach (DataColumn col in dtOU.Columns)
                        {
                            drNew["OU_" + col.ColumnName] = drOU[col];
                        }
                    }

                    foreach (DataColumn col in dtUsers.Columns)
                    {
                        drNew["USER_" + col.ColumnName] = drUser[col];
                    }

                    dtResultTemp.Rows.Add(drNew);
                }

                dtResult.Merge(dtResultTemp);
            }

            return(dtResult);
        }