コード例 #1
0
        /// <summary>
        /// 重置树项目图标
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OnTreeItemGetImageIndex(object sender, TreeItemGetImageIndexEventArgs e)
        {
            var obj = oTree1.GetUserObject(e.Node);

            if (obj is OrTmplCaDO)
            {
                OrTmplCaDO caDO = obj as OrTmplCaDO;
                e.ImageKey = caDO.Fg_routine == true ? ImageKeyRoutine : ImageKeyModel;
            }
            else if (obj is OrTmplDTO)
            {
                OrTmplDTO dto = obj as OrTmplDTO;
                switch (dto.Sd_ortmpltp)
                {
                case BdSrvDictCodeConst.SD_ORTMPLTP_FHMBA:
                    e.ImageKey = ImageKeyFHMB;
                    break;

                case BdSrvDictCodeConst.SD_ORTMPLTP_CZXCY:
                    e.ImageKey = ImageKeyXY;
                    break;

                case BdSrvDictCodeConst.SD_ORTMPLTP_CYFJ:
                    e.ImageKey = ImageKeyCY;
                    break;
                }
            }
            else
            {
                e.ImageKey = ImageKeyCa;
            }
        }
コード例 #2
0
        /// <summary>
        /// 获取树节点数据
        /// </summary>
        public void GetTreeKeyModel()
        {
            var adapter1 = new KeyNodeDataAdapterFactory <OrTmplCaDO>("Id_ortmplca", "Id_parent")
            {
                CustomCaptionFunc = x => x.Name
            };
            var adapter2 = new KeyNodeDataAdapterFactory <OrTmplDTO>("Id_ortmpl", null, "Id_ortmplca")
            {
                CustomCaptionFunc = x => x.Name
            };

            lazyLoadTreeModel = new LazyLoadTreeModel(CurrUdidocDO_SubOwnerType.Name);
            lazyLoadTreeModel.LazyLoadChildren = (oTree, bizNode) =>
            {
                if (bizNode.IsRoot)
                {
                    foreach (var caDO in LstOrTmplCaDOs)
                    {
                        if (caDO.Id_parent == null)
                        {
                            var data = adapter1.Wrap(caDO);
                            oTree.AppendBizNode(bizNode, data);
                        }
                    }
                }
                else
                {
                    OrTmplCaDO moduleDo = bizNode.UserObject as OrTmplCaDO;
                    if (moduleDo != null)
                    {
                        foreach (var caDO in LstOrTmplCaDOs)
                        {
                            if (caDO.Id_parent != null && moduleDo.Id_ortmplca == caDO.Id_parent)
                            {
                                var data = adapter1.Wrap(caDO);
                                oTree.AppendBizNode(bizNode, data);
                            }
                        }

                        foreach (var dto in LstOrTmplDTOs)
                        {
                            if ((strIpOp == "1" && (bool)dto.Fg_entp_ip) || (strIpOp == "0" && ((bool)dto.Fg_entp_op || (bool)dto.Fg_entp_er)))
                            {
                                if (dto.Id_ortmplca == moduleDo.Id_ortmplca)
                                {
                                    var data = adapter2.Wrap(dto);
                                    oTree.AppendBizNode(bizNode, data);
                                }
                            }
                        }
                    }
                }
                return(true);
            };
        }
コード例 #3
0
        /// <summary>
        /// 获取选节点下所有模板ID
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public List <String> GetAllChildIdOrTmpls(BaseDO data)
        {
            List <String> lstIDs = new List <String>();

            if (data != null)
            {
                if (data is OrTmplDTO)
                {
                    OrTmplDTO dto = data as OrTmplDTO;
                    lstIDs.Add(dto.Id_ortmpl);
                }
                else if (data is OrTmplCaDO)
                {
                    OrTmplCaDO caDO = data as OrTmplCaDO;
                    if (dicOrTmplDTOs.ContainsKey(caDO.Id_ortmplca))
                    {
                        lstIDs.AddRange(dicOrTmplDTOs[caDO.Id_ortmplca]);
                    }
                }
            }
            return(lstIDs);
        }
コード例 #4
0
        /// <summary>
        /// 获取树懒加载数据源(模板分类和医嘱模板)
        /// </summary>
        public LazyLoadTreeModel GetTreeKeyModel()
        {
            var adapter1 = new KeyNodeDataAdapterFactory <OrTmplCaDO>("Id_ortmplca", "Id_parent")
            {
                CustomCaptionFunc = x => x.Name
            };
            var adapter2 = new KeyNodeDataAdapterFactory <OrTmplDTO>("Id_ortmpl", null, "Id_ortmplca")
            {
                CustomCaptionFunc = x => x.Name
            };

            String[]          nodesRoot         = new String[] { "全院", "科室", "个人" };
            LazyLoadTreeModel lazyLoadTreeModel = new LazyLoadTreeModel(nodesRoot);

            lazyLoadTreeModel.LazyLoadChildren = (oTree, bizNode) =>
            {
                if (bizNode.IsRoot)
                {
                    //判断是否根节点,第一级的分类没有父节点,加载第一级分类
                    foreach (var caDO in arryOrTmplCaDOs)
                    {
                        if (caDO.Id_parent == null)
                        {
                            switch (bizNode.UserObject.ToString())
                            {
                            case "全院":
                                if (caDO.Sd_srvorrt == BdSrvDictCodeConst.SD_OWTP_HOSPITAL)
                                {
                                    var data = adapter1.Wrap(caDO);
                                    oTree.AppendBizNode(bizNode, data);
                                }
                                break;

                            case "科室":
                                if (caDO.Sd_srvorrt == BdSrvDictCodeConst.SD_OWTP_DEPT)
                                {
                                    var data = adapter1.Wrap(caDO);
                                    oTree.AppendBizNode(bizNode, data);
                                }
                                break;

                            case "个人":
                                if (caDO.Sd_srvorrt == BdSrvDictCodeConst.SD_OWTP_PERSON)
                                {
                                    var data = adapter1.Wrap(caDO);
                                    oTree.AppendBizNode(bizNode, data);
                                }
                                break;
                            }
                        }
                    }
                }
                else
                {
                    //在非根节点下加载节点
                    if (bizNode.UserObject is OrTmplCaDO)
                    {
                        OrTmplCaDO moduleDo = bizNode.UserObject as OrTmplCaDO;
                        if (moduleDo != null)
                        {
                            //非根节点下,加载分类节点
                            foreach (var caDO in arryOrTmplCaDOs)
                            {
                                if (caDO.Id_parent != null && moduleDo.Id_ortmplca == caDO.Id_parent)
                                {
                                    var data = adapter1.Wrap(caDO);
                                    oTree.AppendBizNode(bizNode, data);
                                }
                            }
                            //非根节点下,加载模板节点
                            foreach (var dto in arrayOrTmplDTOs)
                            {
                                if (dto.Id_ortmplca == moduleDo.Id_ortmplca)
                                {
                                    var data = adapter2.Wrap(dto);
                                    oTree.AppendBizNode(bizNode, data);
                                }
                            }
                        }
                    }
                    else if (bizNode.UserObject is OrTmplDTO)
                    {//模板节点先加载“加载中...”
                        oTree.AppendBizNode(bizNode, "加载中...");
                    }
                }
                return(true);
            };
            return(lazyLoadTreeModel);
        }