public BindingListView(ViewInfo viewInfo, IList innerList) { ViewInfo = viewInfo; InnerList = innerList; _pivoter = new Pivoter(viewInfo); UnfilteredItems = _pivoter.ExpandAndPivot(innerList.Cast <object>().Select(o => new RowItem(null, o))).ToArray(); }
private IEnumerable <object> GetAllValues(object rootObject) { if (Pivoter == null) { return(new[] { GetSingleValue(rootObject) }); } var columnDescriptor = ViewInfo.DisplayColumns[0].ColumnDescriptor; var rowItem = new RowItem(rootObject); if (Pivoter == null) { return(new[] { columnDescriptor.GetPropertyValue(rowItem, null) }); } var pivotedRows = Pivoter.ExpandAndPivot(ViewInfo.DataSchema.QueryLock.CancellationToken, new[] { rowItem }); return(pivotedRows.RowItems.Select(item => columnDescriptor.GetPropertyValue(item, null))); }