首页 > 解决方案 > 我想在 C# 中显示按列名“RefPI”分组的数据。我有一个数据表,怎么做

问题描述

我在 C# 中有一个数据表,现在我想显示将按列“ReferenceOfThePI”分组的数据。我怎么能证明这一点。我写了一个代码,但那不起作用。请帮我。

//以下是数据表中的当前数据:
RefPI Date1 Date2 Status1 Status2 Status3 Status4 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 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
yes yes yes
C2-EP3 15/ 2019 年 6 月 2019 年 6 月 5 日

//我的代码如下但不工作。

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();

标签: c#-4.0

解决方案


推荐阅读