//создание строк с данными private List <Row> MethodBuildTreeToRows() { var rows = new List <Row>(); maxlevel = template.Fields.Max(x => x.Level); var currentLevel = 1; rows.Add(BuildHeaderRow()); var dt = dynamicQuery.GetData(currentLevel); //Если что-то пошло не так! if (dt.Rows.Count == 0) { return(rows); } var LevelAgr = template.Fields.Where(x => x.Level == currentLevel).Count(o => o.Aggregation != string.Empty); foreach (DataRow item in dt.Rows) { lastAgr = 0; var row = CreateRow(currentLevel, 0, item); rows.Add(row); var newRows = BuildChildRows(item, currentLevel, item.ItemArray.Count() - LevelAgr); foreach (var newItem in newRows) { rows.Add(newItem); } } return(rows); }
private DataTable GetFirstData() { var dt = new DataTable(); if (template.TreeTypeEnum == Reporting.Reporting.Template.EnumTreeType.Undefined || template.TreeTypeEnum == Reporting.Reporting.Template.EnumTreeType.General) { dt = dynamicQuery.GetData(1); } else if (template.Entity.IsHierarchic && template.TreeTypeEnum == Reporting.Reporting.Template.EnumTreeType.Children) { dt = dynamicQueryChildren.FirstQuery(); } else if (template.Entity.IsHierarchic && template.TreeTypeEnum == Reporting.Reporting.Template.EnumTreeType.Branch) { } return(dt);//?? new DataTable(); }