public override void Refresh() { DrillDownLevel = 0; _drillDownPathQueue = new Queue <string>(DrillDownPath.Split(',')); GroupNames = _drillDownPathQueue.Count > 1 ? DrillDownPath.Split(',').ToList() : GroupNames; _currentPath = _drillDownPathQueue.Dequeue(); this.CurrentItems = new CollectionView(SourceCollection, _currentPath, this.AggregateOn, this.AggregateType, GroupNames[0]); History = new Stack <DrillDownHistory>(); OnAfterDrill(_currentPath, DrillDownLevel, true); }
public override void Refresh() { DrillDownLevel = 0; History = new Stack <DrillDownHistory>(); _drillDownPathQueue = new Queue <string>(DrillDownPath.Split(',')); GroupNames = _drillDownPathQueue.Count > 1 ? DrillDownPath.Split(',').ToList() : GroupNames; var view = CollectionViewSource.GetDefaultView(SourceCollection); view.GroupDescriptions.Clear(); foreach (var path in _drillDownPathQueue) { view.GroupDescriptions.Add(new PropertyGroupDescription(path)); } _currentPath = _drillDownPathQueue.Dequeue(); Current = new CollectionViewWrapper { Name = GroupNames[0], View = view }; ChartView = view.Groups.ToList(); OnAfterDrill(_currentPath, DrillDownLevel, true); }