using DocumentFormat.OpenXml.Wordprocessing; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using VisualComponentsLib.Components.SupportClasses.Enums; namespace VisualComponentsLib.Components.SupportClasses { public class SetDataTable { public string FilePath = string.Empty; public string FileHeader = string.Empty; //высота столбцов public List HeightRow = new(); //высота колонок public List WidthCol = new(); public List DataList; public SetDataTable(string filePath, string fileHeader, List heightRow, List widthCol, List dataList) { FilePath = filePath; FileHeader = fileHeader; HeightRow = heightRow; WidthCol = widthCol; DataList = dataList; DataList = GroupValue(DataList); } //группировка элементов списка по первому полю private static List GroupValue(List data) { var mainField = data[0].GetType().GetProperties().First().Name; return (List)data.GroupBy(field => field.GetType().GetProperties().First().Name).Select(field => field.ToList()); } } }