【问题标题】:Group DataTable by some columns and remove repeated values?按某些列对 DataTable 进行分组并删除重复值?
【发布时间】:2014-04-22 20:13:10
【问题描述】:

我的 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

可能像分组和删除数据表中的重复值并插入空值一样?

【问题讨论】:

    标签: c# datatable


    【解决方案1】:

    您可以使用这样的循环来做到这一点(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();
         }
    }
    

    【讨论】:

    • 这不允许放置两个空格,因为当我更改第一个空格时,下一个将与空格进行比较并且它也不会设置为空。
    • @Phoenix_uy 你说得对,对不起,我想不到。我更新了答案,现在试试。
    猜你喜欢
    • 1970-01-01
    • 2015-06-23
    • 1970-01-01
    • 2022-11-28
    • 2023-02-25
    • 2014-07-23
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多