ASP.NET DataTable去掉重复行的2种方法

时间:2022-09-14 10:22:35

第一种,使用Linq查询表达式,code如下

  1. DataTable testtable = new DataTable(); 
  2.       testtable.Columns.Add("ID"); 
  3.       testtable.Columns.Add("ProductName"); 
  4.   
  5.       testtable.Rows.Add("1""1"); 
  6.       testtable.Rows.Add("1""1"); 
  7.       testtable.Rows.Add("1""1"); 
  8.       testtable.Rows.Add("2""2"); 
  9.       testtable.Rows.Add("3""3"); 
  10.       DataTable finalltable = new DataTable(); 
  11.       finalltable = testtable.Clone(); 
  12.       finalltable.Clear(); 
  13.         
  14.       var rows = from row in testtable.AsEnumerable() group row by row["ID"] into myrow select myrow.FirstOrDefault(); 
  15.       foreach (DataRow row in rows) 
  16.       { 
  17.         finalltable.ImportRow(row); 
  18.       } 

第二种方法

利用dataview来过滤datatable

  1. <strong>testtable = testtable.DefaultView.ToTable(truenew string[] { "ID""ProductName" }); 
  2. </strong>