资源简介
datatable中移除重复行 ,并能合并重复行
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace RemoveRow
{
public partial class Form1 : Form
{
DataTable dt1 = new DataTable();
DataTable dt2;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender EventArgs e)
{
//DataTable dt = new DataTable();
dt1.Columns.Add(“id“);
dt1.Columns.Add(“Name“);
DataRow dr = dt1.NewRow();
DataRow dr2 = dt1.NewRow();
DataRow dr3 = dt1.NewRow();
DataRow dr4 = dt1.NewRow();
DataRow dr5 = dt1.NewRow();
DataRow dr6 = dt1.NewRow();
dr[“id“] = “1“;
dr4[“id“] = “2“;
dr5[“id“] = “2“;
dr2[“id“] = “1“;
dr3[“id“] = “1“;
dr6[“id“] = “2“;
dr2[“Name“] = “shi“;
dr4[“Name“] = “null“;
dr[“Name“] = “shi“;
dr6[“Name“] = “null“;
dr3[“Name“] = “shi“;
dr5[“Name“] = “null“;
dt1.Rows.Add(dr2);
dt1.Rows.Add(dr4);
dt1.Rows.Add(dr);
dt1.Rows.Add(dr5);
dt1.Rows.Add(dr3);
dt1.Rows.Add(dr6);
dataGridView1.DataSource = dt1;
dt2 = dt1.Copy();
}
private DataTable remove(DataTable dt)
{
int count= dt.Rows.Count;
for (int i = 0; i < count; i++)
{
if (i + 1 < count)
{
string id = dt.Rows[i][“id“].ToString();
if (dt.Rows[i + 1][“id“].ToString() == id)
{
dt.Rows.RemoveAt(i + 1);
count -= 1;
i -= 1;
}
}
}
return dt;
}
private void button1_Click(object sender EventArgs e)
{
DataTable dtd = remove22(dt2);
dataGridView1.DataSource = dtd;
}
private DataTable remove22(DataTable dt)
{
//克隆要统计的表结构
DataTable dtYpxx = dt.Clone();
dtYpxx.TableName = “dtYpxx“;
//遍历要统计的表的行
foreach (DataRow dr in dt.Rows)
{
DataRow[] drs = dtYpxx.Select(“id=‘“ + dr[“id“].ToString() + “‘“);//在克隆表中查询和要统计表药品代码系统的数据,这里第一次进入肯定是查不到的,因为此时克隆表中的没有数据
//如果查出来数据的话,则说明要统计表中的数据在克隆表中存在了,则对对应的数据进行统计
if (drs.Length > 0)
{
drs[0][“Name“] = drs[0][“Name“].ToString() +
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10240 2012-04-19 12:04 RemoveRow\bin\Debug\RemoveRow.exe
文件 26112 2012-04-19 12:04 RemoveRow\bin\Debug\RemoveRow.pdb
文件 11592 2012-04-19 12:44 RemoveRow\bin\Debug\RemoveRow.vshost.exe
文件 490 2007-07-21 01:33 RemoveRow\bin\Debug\RemoveRow.vshost.exe.manifest
文件 3551 2012-04-18 14:10 RemoveRow\Form1.cs
文件 2972 2012-04-17 13:37 RemoveRow\Form1.Designer.cs
文件 5814 2012-04-17 13:37 RemoveRow\Form1.resx
文件 642 2012-04-19 12:44 RemoveRow\obj\Debug\RemoveRow.csproj.FileListAbsolute.txt
文件 847 2012-04-17 13:37 RemoveRow\obj\Debug\RemoveRow.csproj.GenerateResource.Cache
文件 10240 2012-04-19 12:04 RemoveRow\obj\Debug\RemoveRow.exe
文件 180 2012-04-17 13:37 RemoveRow\obj\Debug\RemoveRow.Form1.resources
文件 26112 2012-04-19 12:04 RemoveRow\obj\Debug\RemoveRow.pdb
文件 180 2012-04-17 13:29 RemoveRow\obj\Debug\RemoveRow.Properties.Resources.resources
文件 490 2012-04-17 13:26 RemoveRow\Program.cs
文件 1368 2012-04-17 13:26 RemoveRow\Properties\AssemblyInfo.cs
文件 2868 2012-04-17 13:26 RemoveRow\Properties\Resources.Designer.cs
文件 5612 2012-04-17 13:26 RemoveRow\Properties\Resources.resx
文件 1094 2012-04-17 13:26 RemoveRow\Properties\Settings.Designer.cs
文件 249 2012-04-17 13:26 RemoveRow\Properties\Settings.settings
文件 3729 2012-04-17 13:29 RemoveRow\RemoveRow.csproj
目录 0 2012-04-17 13:26 RemoveRow\obj\Debug\TempPE
目录 0 2012-04-17 13:29 RemoveRow\bin\Debug
目录 0 2012-04-19 12:04 RemoveRow\obj\Debug
目录 0 2012-04-17 13:26 RemoveRow\bin
目录 0 2012-04-17 13:26 RemoveRow\obj
目录 0 2012-04-17 13:26 RemoveRow\Properties
目录 0 2012-04-18 14:10 RemoveRow
----------- --------- ---------- ----- ----
114382 27
............此处省略0个文件信息
评论
共有 条评论