46 lines
1.4 KiB
C#
Raw Normal View History

using DocumentFormat.OpenXml.Wordprocessing;
using System;
2023-10-09 18:14:48 +04:00
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<T>
{
public string FilePath = string.Empty;
public string FileHeader = string.Empty;
//высота столбцов
public List<double> HeightRow = new();
2023-10-09 18:14:48 +04:00
//высота колонок
public List<double> WidthCol = new();
public List<T> DataList;
public SetDataTable(string filePath, string fileHeader, List<double> heightRow,
List<double> widthCol, List<T> dataList)
2023-10-09 18:14:48 +04:00
{
FilePath = filePath;
FileHeader = fileHeader;
HeightRow = heightRow;
2023-10-09 18:14:48 +04:00
WidthCol = widthCol;
DataList = dataList;
DataList = GroupValue(DataList);
}
//группировка элементов списка по первому полю
private static List<T> GroupValue<T>(List<T> data)
{
var mainField = data[0].GetType().GetProperties().First().Name;
return (List<T>)data.GroupBy(field => field.GetType().GetProperties().First().Name).Select(field => field.ToList());
2023-10-09 18:14:48 +04:00
}
}
}