diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs index 11f1cfa0..82e817e3 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs @@ -466,6 +466,23 @@ namespace VEPROMS.CSLA.Library return _PartInfoList[0].GetChildren(); return _PartInfoList; } + public System.Collections.IList GetChildren(bool allParts) + { + _PartInfoList = this.MyContent.ContentParts; + if (allParts) + { + if (_PartInfoList.Count == 1 && (_PartInfoList[0].ToString() == "Sections" || _PartInfoList[0].ToString() == "Steps")) + return _PartInfoList[0].GetChildren(); + return _PartInfoList; + } + else // Steps and Sections only + { + for(int i = 0;i<_PartInfoList.Count;i++) + if(_PartInfoList[i].ToString() == "Sections" || _PartInfoList[i].ToString() == "Steps") + return _PartInfoList[i].GetChildren(); + return null; + } + } //public bool ChildrenAreLoaded //{ // get { return _PartInfoList == null; } diff --git a/PROMS/VEPROMS.CSLA.Library/VEObjects/VETreeNode.cs b/PROMS/VEPROMS.CSLA.Library/VEObjects/VETreeNode.cs index fb4dd268..abd1a073 100644 --- a/PROMS/VEPROMS.CSLA.Library/VEObjects/VETreeNode.cs +++ b/PROMS/VEPROMS.CSLA.Library/VEObjects/VETreeNode.cs @@ -169,6 +169,10 @@ namespace VEPROMS.CSLA.Library // Console.WriteLine("{0}\t\"Total\"", TimeSpan.FromTicks(total).TotalMilliseconds); //} public virtual void LoadChildren() + { + LoadChildren(true); + } + public virtual void LoadChildren(bool allParts) { if (!_ChildrenLoaded) { @@ -176,11 +180,15 @@ namespace VEPROMS.CSLA.Library //tReset(); DateTime tStart = DateTime.Now; OnLoadingChildrenSQL(this, new VETreeNodeEventArgs()); - IList ol = _VEObject.GetChildren(); - OnLoadingChildrenMax(this, new VETreeNodeEventArgs(ol.Count)); + IList ol; + if(_VEObject.GetType().Name == "StepInfo" ||_VEObject.GetType().Name == "SectionInfo" ||_VEObject.GetType().Name == "ItemInfo" ) + ol = ((ItemInfo)_VEObject).GetChildren(allParts); + else + ol = _VEObject.GetChildren(); //tNext("GetChildren"); if (ol != null) { + OnLoadingChildrenMax(this, new VETreeNodeEventArgs(ol.Count)); this.TreeView.BeginUpdate(); int icnt = 0; foreach (IVEDrillDownReadOnly o in ol)