protected override bool CreateChildren(bool diffOldChildren) { try { if (mergedPd.PropertyType.IsValueType || (Flags & GridEntry.FLAG_IMMUTABLE) != 0) { return(base.CreateChildren(diffOldChildren)); } ChildCollection.Clear(); MultiPropertyDescriptorGridEntry[] mergedProps = MultiSelectRootGridEntry.PropertyMerger.GetMergedProperties(mergedPd.GetValues(objs), this, PropertySort, CurrentTab); Debug.WriteLineIf(CompModSwitches.DebugGridView.TraceVerbose && mergedProps is null, "PropertyGridView: MergedProps returned null!"); if (mergedProps != null) { ChildCollection.AddRange(mergedProps); } bool fExpandable = Children.Count > 0; if (!fExpandable) { SetFlag(GridEntry.FL_EXPANDABLE_FAILED, true); } return(fExpandable); } catch { return(false); } }
protected override bool CreateChildren(bool diffOldChildren) { try { if (mergedPd.PropertyType.IsValueType || (Flags & GridEntry.FLAG_IMMUTABLE) != 0) { return(base.CreateChildren(diffOldChildren)); } ChildCollection.Clear(); MultiPropertyDescriptorGridEntry[] mergedProps = MultiSelectRootGridEntry.PropertyMerger.GetMergedProperties(mergedPd.GetValues(objs), this, this.PropertySort, this.CurrentTab); Debug.Assert(mergedProps != null, "MergedProps returned null!"); if (mergedProps != null) { ChildCollection.AddRange(mergedProps); } bool fExpandable = this.Children.Count > 0; if (!fExpandable) { SetFlag(GridEntry.FL_EXPANDABLE_FAILED, true); } return(fExpandable); } catch (Exception) { return(false); } }
protected override bool CreateChildren(bool diffOldChildren = false) { try { if (_mergedDescriptor.PropertyType.IsValueType || EntryFlags.HasFlag(Flags.Immutable)) { return(base.CreateChildren(diffOldChildren)); } ChildCollection.Clear(); var mergedProperties = MultiSelectRootGridEntry.PropertyMerger.GetMergedProperties( _mergedDescriptor.GetValues(_objects), this, _propertySort, OwnerTab); Debug.WriteLineIf( CompModSwitches.DebugGridView.TraceVerbose && mergedProperties is null, "PropertyGridView: MergedProps returned null!"); if (mergedProperties is not null) { ChildCollection.AddRange(mergedProperties); } bool expandable = Children.Count > 0; if (!expandable) { SetFlag(Flags.ExpandableFailed, true); } return(expandable); } catch (Exception e) { Debug.Fail(e.Message); return(false); } }