按某些列对DataTable进行分组,并删除重复的值

本文关键字:删除 DataTable | 更新日期: 2023-09-27 17:59:41

我的Winforms应用程序中有一个DataTable,其中包含以下数据:

| ItemName | ItemNo |   ItemValue
     B         1            1,4
     B         1            1,9
     B         1            2,2
     A         2            2,0
     A         2            2,7
     A         2            3,1
     C         3            1,3
     C         3            1,5
     C         3            2,1

如何使我的DataTable在DataGridView中显示这样的值?:

| ItemName | ItemNo |   ItemValue
     B         1            1,4
                            1,9
                            2,2
     A         2            2,0
                            2,7
                            3,1
     C         3            1,3
                            1,5
                            2,1

比如分组并从数据表中删除重复的值,然后插入空值?

按某些列对DataTable进行分组,并删除重复的值

您可以使用这样的循环(dtDataTable):

string currentName="", currentNo="";
foreach (DataRow row in dt.Rows)
{
     if (row["ItemName"].ToString() == currentName
          && row["ItemNo"].ToString() == currentNo)
     {
         row["ItemName"] = "";
         row["ItemNo"] = "";
     }
     else
     {
         currentName = row["ItemName"].ToString();
         currentNo = row["ItemNo"].ToString();
     }
}