Example #1
0
        private void GetChildSelectedOrgObj(TreeViewItem item, ref List <ExtOrgObj> selObjs)
        {
            foreach (TreeViewItem childItem in item.Items)
            {
                TreeViewItem myItem =
                    (TreeViewItem)(item.ItemContainerGenerator.ContainerFromItem(childItem));

                CheckBox cbx = Helper.UIHelper.FindChildControl <CheckBox>(myItem);

                if (cbx != null && cbx.IsChecked.GetValueOrDefault(false))
                {
                    OrgTreeItemTypes type = (OrgTreeItemTypes)(childItem.Tag);


                    if (type == OrgTreeItemTypes.Post)
                    {
                        ExtOrgObj obj  = childItem.DataContext as ExtOrgObj;
                        ExtOrgObj pobj = item.DataContext as ExtOrgObj;
                        if (obj != null && pobj != null)
                        {
                            //附父节点的值
                            ((T_HR_POST)obj.ObjectInstance).T_HR_DEPARTMENT = pobj.ObjectInstance as T_HR_DEPARTMENT;
                        }
                    }

                    selObjs.Add(childItem.DataContext as ExtOrgObj);
                }

                GetChildSelectedOrgObj(childItem, ref selObjs);
            }
        }
        private void lookUpTree_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            if (treeOrganization.SelectedItem.GetType() != typeof(TreeViewItem))
            {
                return;
            }
            TreeViewItem item = (TreeViewItem)treeOrganization.SelectedItem;

            if (item == null || item.DataContext == null)
            {
                return;
            }

            OrgTreeItemTypes type = (OrgTreeItemTypes)(item.Tag);

            if (SelectedObjType == OrgTreeItemTypes.All || type == SelectedObjType)
            {
                SelectedObj = item.DataContext;

                if (SelectedObj is T_HR_POST)
                {
                    TreeViewItem pitem = item.Parent as TreeViewItem;
                    if (pitem != null)
                    {
                        ((T_HR_POST)SelectedObj).T_HR_DEPARTMENT = pitem.DataContext as T_HR_DEPARTMENT;
                    }
                }
            }
            else
            {
                SelectedObj = null;
            }
        }
Example #3
0
        protected void lookUpTree_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            //return;
            if (treeOrganization.SelectedItem == null)
            {
                return;
            }
            if (treeOrganization.SelectedItem.GetType() != typeof(TreeViewItem))
            {
                return;
            }

            TreeViewItem item = (TreeViewItem)treeOrganization.SelectedItem;

            //TODO: 这个方法在单选时选择有bug,可能是Selected事件与Checked事件有冲突
            //CheckBox cbx = Helper.UIHelper.FindChildControl<CheckBox>(item);
            //if (cbx != null)
            //    cbx.IsChecked = true;

            if (item == null || item.DataContext == null)
            {
                return;
            }

            OrgTreeItemTypes type = (OrgTreeItemTypes)(item.Tag);

            if ((SelectedObjType == OrgTreeItemTypes.All || SelectedObjType == OrgTreeItemTypes.Personnel) &&
                type == OrgTreeItemTypes.Post)
            {
                //TODO:多选
                ExtOrgObj obj = new ExtOrgObj();

                obj = item.DataContext as ExtOrgObj;

                if (type == OrgTreeItemTypes.Post && obj != null)
                {
                    //加载员工
                    BindEmployee(item, obj.ObjectID);
                }
            }
            else if (type == OrgTreeItemTypes.Department)
            {
                ExtOrgObj obj = new ExtOrgObj();

                obj = item.DataContext as ExtOrgObj;
                if (depIDsCach.ContainsKey(obj.ObjectID))
                {
                    return;
                }
                BindPosition(obj.ObjectID, item);
            }
        }
        private TreeViewItem GetParentItem(OrgTreeItemTypes parentType, string parentID)
        {
            TreeViewItem tmpItem = null;

            foreach (TreeViewItem item in treeOrganization.Items)
            {
                tmpItem = GetParentItemFromChild(item, parentType, parentID);
                if (tmpItem != null)
                {
                    break;
                }
            }
            return(tmpItem);
        }
Example #5
0
        private TreeViewItem GetParentItemFromChild(TreeViewItem item, OrgTreeItemTypes parentType, string parentID)
        {
            TreeViewItem tmpItem = null;

            ExtOrgObj obj = item.DataContext as ExtOrgObj;

            if (obj != null && item.Tag != null && item.Tag.ToString() == parentType.ToString())
            {
                switch (parentType)
                {
                case OrgTreeItemTypes.Company:
                    T_HR_COMPANY tmpOrg = obj.ObjectInstance as T_HR_COMPANY;
                    if (tmpOrg != null)
                    {
                        if (tmpOrg.COMPANYID == parentID)
                        {
                            return(item);
                        }
                    }
                    break;

                case OrgTreeItemTypes.Department:
                    T_HR_DEPARTMENT tmpDep = obj.ObjectInstance as T_HR_DEPARTMENT;
                    if (tmpDep != null)
                    {
                        if (tmpDep.DEPARTMENTID == parentID)
                        {
                            return(item);
                        }
                    }
                    break;
                }
            }
            if (item.Items != null && item.Items.Count > 0)
            {
                foreach (TreeViewItem childitem in item.Items)
                {
                    tmpItem = GetParentItemFromChild(childitem, parentType, parentID);
                    if (tmpItem != null)
                    {
                        break;
                    }
                }
            }
            return(tmpItem);
        }
Example #6
0
        private TreeViewItem GetParentItemFromChild(TreeViewItem item, OrgTreeItemTypes parentType, string parentID)
        {
            TreeViewItem tmpItem = null;

            if (item.Tag != null && item.Tag.ToString() == parentType.ToString())
            {
                switch (parentType)
                {
                case OrgTreeItemTypes.Company:
                    SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY tmpOrg = item.DataContext as SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY;
                    if (tmpOrg != null)
                    {
                        if (tmpOrg.COMPANYID == parentID)
                        {
                            return(item);
                        }
                    }
                    break;

                case OrgTreeItemTypes.Department:
                    SMT.Saas.Tools.OrganizationWS.T_HR_DEPARTMENT tmpDep = item.DataContext as SMT.Saas.Tools.OrganizationWS.T_HR_DEPARTMENT;
                    if (tmpDep != null)
                    {
                        if (tmpDep.DEPARTMENTID == parentID)
                        {
                            return(item);
                        }
                    }
                    break;
                }
            }
            if (item.Items != null && item.Items.Count > 0)
            {
                foreach (TreeViewItem childitem in item.Items)
                {
                    tmpItem = GetParentItemFromChild(childitem, parentType, parentID);
                    if (tmpItem != null)
                    {
                        break;
                    }
                }
            }
            return(tmpItem);
        }
Example #7
0
        private void treeOrganization_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e)
        {
            LoadData();
            TreeViewItem selectedItem = treeOrganization.SelectedItem as TreeViewItem;

            if (selectedItem != null)
            {
                OrgTreeItemTypes type = (OrgTreeItemTypes)(selectedItem.Tag);
                if (type == OrgTreeItemTypes.Department)//部门时才加载
                {
                    SMT.Saas.Tools.OrganizationWS.T_HR_DEPARTMENT department = selectedItem.DataContext as SMT.Saas.Tools.OrganizationWS.T_HR_DEPARTMENT;
                    string sValue = department.DEPARTMENTID;
                    if (bingtree.depIDsCach.ContainsKey(sValue))
                    {
                        return;                                         //如果有加载过就不再再加载一次
                    }
                    bingtree.BindPost(sValue);
                }
            }
        }
Example #8
0
        private void GetOrgInfoByChecked(ref string sType, ref string sValue, ref string strMsg)
        {
            List <ExtOrgObj> selObjs = new List <ExtOrgObj>();

            foreach (TreeViewItem item in orgTree.treeOrganization.Items)
            {
                TreeViewItem myItem =
                    (TreeViewItem)(orgTree.treeOrganization.ItemContainerGenerator.ContainerFromItem(item));
                myItem.Style = Application.Current.Resources["TreeViewItemStyle"] as Style;

                CheckBox cbx = Helper.UIHelper.FindChildControl <CheckBox>(myItem);
                if (cbx != null && cbx.IsChecked.GetValueOrDefault(false))
                {
                    OrgTreeItemTypes type = (OrgTreeItemTypes)(item.Tag);

                    selObjs.Add(item.DataContext as ExtOrgObj);
                }

                GetChildSelectedOrgObj(item, ref selObjs);
            }

            if (selObjs.Count() == 0)
            {
                strMsg = "请选择员工所在的公司再进行查询";
                return;
            }

            if (selObjs.Count() > 1)
            {
                strMsg = "查询员工,只能选择单个机构做为范围查询";
                return;
            }

            ExtOrgObj selobj = selObjs.FirstOrDefault();

            sType  = selobj.ObjectType.ToString();
            sValue = selobj.ObjectID;
        }
Example #9
0
        private TreeViewItem GetParentItemFromChild(TreeViewItem item, OrgTreeItemTypes parentType, string parentID)
        {
            TreeViewItem tmpItem = null;

            ExtOrgObj obj = item.DataContext as ExtOrgObj;

            if (obj != null && item.Tag != null && item.Tag.ToString() == parentType.ToString())
            {
                switch (parentType)
                {
                    case OrgTreeItemTypes.Company:
                        T_HR_COMPANY tmpOrg = obj.ObjectInstance as T_HR_COMPANY;
                        if (tmpOrg != null)
                        {
                            if (tmpOrg.COMPANYID == parentID)
                                return item;
                        }
                        break;
                    case OrgTreeItemTypes.Department:
                        T_HR_DEPARTMENT tmpDep = obj.ObjectInstance as T_HR_DEPARTMENT;
                        if (tmpDep != null)
                        {
                            if (tmpDep.DEPARTMENTID == parentID)
                                return item;
                        }
                        break;
                }

            }
            if (item.Items != null && item.Items.Count > 0)
            {
                foreach (TreeViewItem childitem in item.Items)
                {
                    tmpItem = GetParentItemFromChild(childitem, parentType, parentID);
                    if (tmpItem != null)
                    {
                        break;
                    }
                }
            }
            return tmpItem;
        }
Example #10
0
 private TreeViewItem GetParentItem(OrgTreeItemTypes parentType, string parentID)
 {
     TreeViewItem tmpItem = null;
     foreach (TreeViewItem item in treeOrganization.Items)
     {
         tmpItem = GetParentItemFromChild(item, parentType, parentID);
         if (tmpItem != null)
         {
             break;
         }
     }
     return tmpItem;
 }
Example #11
0
        private TreeViewItem GetParentItemFromChild(TreeViewItem item, OrgTreeItemTypes parentType, string parentID)
        {
            TreeViewItem tmpItem = null;
            if (item.Tag != null && item.Tag.ToString() == parentType.ToInt32().ToString())
            {
                switch (parentType)
                {
                    case OrgTreeItemTypes.Company:
                        SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY tmpOrg = item.DataContext as SMT.Saas.Tools.OrganizationWS.T_HR_COMPANY;
                        if (tmpOrg != null)
                        {
                            if (tmpOrg.COMPANYID == parentID)
                                return item;
                        }
                        break;
                    case OrgTreeItemTypes.Department:
                        SMT.Saas.Tools.OrganizationWS.T_HR_DEPARTMENT tmpDep = item.DataContext as SMT.Saas.Tools.OrganizationWS.T_HR_DEPARTMENT;
                        if (tmpDep != null)
                        {
                            if (tmpDep.DEPARTMENTID == parentID)
                                return item;
                        }
                        break;
                }

            }
            if (item.Items != null && item.Items.Count > 0)
            {
                foreach (TreeViewItem childitem in item.Items)
                {
                    tmpItem = GetParentItemFromChild(childitem, parentType, parentID);
                    if (tmpItem != null)
                    {
                        break;
                    }
                }
            }
            return tmpItem;
        }