コード例 #1
0
        /// <summary>
        /// 加载节点,第一次使用
        /// </summary>
        public override void AddChild()
        {
            ChildTreeItems.Clear();
            if (NodeType != TypeOfTabTreeNode.IsGrp)
            {
                return;
            }

            if (!Sr.EquipmentInfoHolding.Services.ServicesGrpMulitInfoHold.ItemsMultGrp.ContainsKey(NodeId))
            {
                return;
            }

            var ntsss =
                ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(
                    Sr.EquipmentInfoHolding.Services.ServicesGrpMulitInfoHold.ItemsMultGrp[NodeId].LstTml);

            foreach (var t in ntsss)
            {
                if (!Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems.ContainsKey(t))
                {
                    continue;
                }
                var ff = Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems[t];
                if (ff == null || ff.EquipmentType != WjParaBase.EquType.Rtu)
                {
                    continue;
                }
                ChildTreeItems.Add(new TreeNodeItemTmlViewModel(this, ff));
            }
            foreach (var f in ChildTreeItems)
            {
                f.GetChildRtuCount();
            }
        }
コード例 #2
0
        /// <summary>
        /// 当分组信息发生变化的时候  增量式重新加载节点
        /// </summary>
        public void UpdateSpecial()
        {
            var info = Wlst.Sr.EquipmentInfoHolding.Services.ServicesGrpSingleInfoHold.GetRtuNotInAnyGroup(AreaId);

            if (info.Count == 0)
            {
                this.ChildTreeItems.Clear();
                if (_father != null)
                {
                    _father.ChildTreeItems.Remove(this);
                }
                return;
            }


            //node delete
            for (int i = this.ChildTreeItems.Count - 1; i >= 0; i--)
            {
                if (ChildTreeItems[i].NodeType != TypeOfTabTreeNode.IsTml)
                {
                    this.ChildTreeItems.RemoveAt(i);
                    continue;
                }

                if (info.Contains(ChildTreeItems[i].NodeId) == false ||
                    !Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems.ContainsKey(
                        ChildTreeItems[i].NodeId))
                {
                    this.ChildTreeItems.RemoveAt(i);
                }
            }


            //tml  add and update
            var exist = (from t in ChildTreeItems select t.NodeId).ToList();

            foreach (var t in info)
            {
                if (exist.Contains(t))
                {
                    continue;
                }

                var para = Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.GetInfoById(t);
                if (para == null || para.EquipmentType != WjParaBase.EquType.Rtu)
                {
                    continue;
                }

                if (para.RtuFid != 0)
                {
                    continue;
                }


                var vol = para as Wj3005Rtu;

                if (vol != null && vol.WjVoltage.RtuUsedType == 2)
                {
                    ChildTreeItems.Add(new TreeNodeItemTmlViewModel(this, para));
                }
            }

            //按给定顺序排序
            var ntss = ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(info);
            var idc  = new Dictionary <int, TreeNodeBaseNode>();

            foreach (var f in this.ChildTreeItems)
            {
                if (!ntss.Contains(f.NodeId))
                {
                    continue;
                }
                int index = ntss.IndexOf(f.NodeId);
                if (idc.ContainsKey(index) == false)
                {
                    idc.Add(index, f);
                }
            }

            for (int i = 0; i < ChildTreeItems.Count; i++)
            {
                if (idc.ContainsKey(i) == false)
                {
                    continue;
                }
                if (ChildTreeItems.Count < i)
                {
                    continue;
                }
                if (ChildTreeItems[i].NodeId != idc[i].NodeId)
                {
                    if (ChildTreeItems.Contains(idc[i]))
                    {
                        ChildTreeItems.Remove(idc[i]);
                    }
                    ChildTreeItems.Insert(i, idc[i]);
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// 加载节点,第一次使用
        /// </summary>
        public override void AddChild()
        {
            ChildTreeItems.Clear();
            if (NodeType != TypeOfTabTreeNode.IsGrp)
            {
                return;
            }

            //lvf 2018年4月17日14:37:13 默认区域id为0
            var tu = new Tuple <int, int>(0, NodeId);

            //添加分组到子节点中
            //if (!ServicesGrpSingleInfoHold.InfoGroups.ContainsKey(tu))
            //    return;


            //var tmps =
            //    (from gt in
            //         ServicesGrpSingleInfoHold.InfoGroups[tu].LstGrp
            //     orderby gt ascending
            //     select gt).ToList();

            //var ntss = ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(tmps);

            //foreach (var t in ntss)
            //{
            //    if (!ServicesGrpSingleInfoHold.InfoGroups.ContainsKey(t))
            //        continue;
            //ChildTreeItems.Add(new TreeNodeItemSingleGroupViewModel(this,
            //                                                            ServicesGrpSingleInfoHold.InfoGroups[
            //                                                                    tu]));
            ////}
            ////对分组子节点 进行数据加载
            //foreach (var t1 in ChildTreeItems)
            //{
            //    t1.AddChild();
            //}
            ///加载终端节点
            var tmpssssss =
                (from gt in
                 ServicesGrpSingleInfoHold.InfoGroups[tu].LstTml
                 orderby gt ascending
                 select gt).ToList();

            var ntsss = ServicesGrpSingleInfoHold.GetRtuOrGrpIndex(tmpssssss);

            var LST = new List <TreeNodeBaseNode>();

            foreach (var t in ntsss)
            {
                if (!BaseNodes.Nodess.ContainsKey(t))
                {
                    if (
                        !Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems.ContainsKey(
                            t))
                    {
                        continue;
                    }
                    var f =
                        Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.InfoItems [t];
                    new TreeNodeItemTmlViewModel(this, f);
                }
                if (!BaseNodes.Nodess.ContainsKey(t))
                {
                    continue;
                }
                //  ChildTreeItems.Add(GrpComSingleMuliViewModel.BaseNodes.Nodess[t]);
                LST.Add(BaseNodes.Nodess[t]);
                continue;
            }
            //  var lstord = (from t in LST orderby t.PhyId ascending select t).ToList();
            foreach (var t in LST)
            {
                ChildTreeItems.Add(t);
            }
        }