如题,有此需求,想把获得的数据集中的数据做“去重”操作,把里面某字段有重复内容的记录去掉。
尝试过:DataRow[] drCorp = dtCorp.Select("1=1 Group By CorpID")类似,失败!
请大家积极帮助呵呵。谢谢!

解决方案 »

  1.   

    倒可能asp.net集合级的没这功能。郁闷。
      

  2.   

    有可能的话,使用sql语句提前去重。
    如果不允许,那就遍历+判断,生成一个新的datatable
      

  3.   

    复杂一点的可以写个函数,然后一行一行取出某字段数据保存到一个哈希表中.
    在存入的时候看是否在这个哈希表中,如果不在就插入到哈希表,存在的话就把datarow删除.
    再保存table.
      

  4.   

    看来没有直接一点的方法了,DS怎么就不弄个去重的功能呢?因为不能用SQL才想这个方法的。
      

  5.   

    好像没有直接办法.
     DataTable dt = new DataTable();
            dt.Columns.Add("CorpID", typeof(int));
            dt.Rows.Add(1);
            dt.Rows.Add(2);
            dt.Rows.Add(3);
            dt.Rows.Add(3);
            dt.Rows.Add(2);        DataGrid g = new DataGrid();
            g.DataSource = dt.DefaultView;
            g.DataBind();
            this.panel1.Controls.Add(g);        DataView dv = dt.DefaultView;
            dv.Sort = "CorpID";
            for (int i = 1; i < dv.Count; i++)
            {
                if (dv[i][0].ToString() == dv[i - 1][0].ToString())
                {
                    dv[i].Row.Delete();
                }
            }        g = new DataGrid();
            g.DataSource = dt.DefaultView;
            g.DataBind();
            this.panel1.Controls.Add(g);
      

  6.   

    DataView dv = dt.DefaultView;   
    dv[i].Row.Delete(); 这个好像不好使得。dv不支持吧?
      

  7.   

    复杂一点的可以写个函数,然后一行一行取出某字段数据保存到一个哈希表中. 
    在存入的时候看是否在这个哈希表中,如果不在就插入到哈希表,存在的话就把datarow删除. 
    再保存table.这位哥哥能把你的想法变成代码写出来吗?