У меня есть данные в C #, и теперь я хочу показать данные, которые будут сгруппированы по столбцу «ReferenceOfThePI».Как я могу показать это.Я написал код, но это не работает.Пожалуйста, помогите мне.
// Ниже приведены текущие данные в формате:
RefPI Дата1 Дата2 Статус1 Статус2 Статус3 Статус4 C2-EP1 28/04/2020 5/5/2022
C2-EP2 28/ 06/2022 1/5/2019
C2-EP3 15/6/2019 6/5/2019
C2-EP1 OK OK C2-EP2 в порядке ok data1
C2-EP2 да да да
// Ожидаемый результат
RefPI Date1 Date2 Status1 Status2 Status3 Status4 C2-EP1 28/04/20 5/5/22 OK OK C2-EP2 28/06/22 1/5/19 ok ok data1
да да да
C2-EP3 15/6/2019 5/5/2019
// Мой код, как показано ниже, но не работает.
dtHist.Merge(dtMainPIHistoryRepeat);
int iRow = 0;
DataTable dtGrpby = null;
dtGrpby = dtHist.AsEnumerable()
.GroupBy(r => new
{
Col1 = r["RefPI"],
Col2 = r["Date1"],
Col3 = r["Date2"],
Col4 = r["Status1"],
Col5 = r["Status2"],
Col6 = r["Status3"],
Col7 = r["Status4"],
Col8 = r["Status5"]
})
.Select(g =>
{
var row = dtHist.NewRow();
row["RefPI"] = g.Key.Col1;
row["Date1"] = g.Key.Col2;
row["Date2"] = g.Key.Col3;
row["Status1"] = g.Key.Col4; ;
row["Status2"] = g.Key.Col5; ;
row["Status3"] = g.Key.Col6; ;
row["Status4"] = g.Key.Col7; ;
row["Status5"] = g.Key.Col8;
return row;
}).CopyToDataTable();