1.DataTable数据去重

  static void Main(string[] args)
{
DataTable dt = new DataTable();//创建表
DataColumn dc = null;//创建列
int fieldCount = ;//列数
int rowCount = ;//行数
//以下两个循环只是模拟向dt中添加数据
for (int i = ; i < fieldCount; i++)
{
if (i==)
{
dc = dt.Columns.Add("ID", Type.GetType("System.String"));
}
else
{
dc = dt.Columns.Add(string.Format("第{0}列", i.ToString()), Type.GetType("System.String"));
}
}
for (int i = ; i < rowCount; i++)
{
DataRow newRow = dt.NewRow();
for (int j = ; j < fieldCount; j++)
{
if (j==)
{
newRow["ID"] = Guid.NewGuid();
}
else
{
newRow[string.Format("第{0}列", j.ToString())] = j;
}
}
dt.Rows.Add(newRow);
}
//数据去重处理
DataTable finalltable = dt.Clone();
finalltable.Clear();
var rows = from row in dt.AsEnumerable()
group row
by row["第1列"]//表示根据具体的哪一列进行去重
into myrow
select myrow.FirstOrDefault();
foreach (DataRow row in rows)
{
finalltable.ImportRow(row);
}
}

模拟添加的数据:

数据去重后的结果:

2.DataTable排序

                DataTable dtTop100Total = new DataTable();
DataRow[] rows = dtTop100Total.Select("", "int型的排序字段 DESC");
DataTable t = dtTop100Total.Clone();
t.Clear();
foreach (DataRow row in rows)
{
t.ImportRow(row);
}
dtTop100Total = t;

3.向DataTable中添加属于另一个DataTable的DataRow

                 DataTable dtSame = SQLHelper.ExecuteTableSQL(SqlQuery);//数据源
DataRow[] drSource = dtSame.Select(“过滤条件”, "排序字段 DESC/ASC");
DataTable dtTarget = dtSame.Clone();//复制数据源表结构
DataRow drTarget = dtTarget.NewRow();//创建新行
drTarget.ItemArray = drSource[0].ItemArray;//赋值
dtTarget.Rows.Add(drTarget);//添加

4.gridView绑定DataTable

DataTable dt = new DataTable();
dt.Columns.Add("htl_cd");
dt.Columns.Add("htl_nm"); Random r = new Random();
for (int i = ; i < ; i++)
{
DataRow dr = dt.NewRow();
dr[] = r.Next(, );
dr[] = r.Next(, );
dt.Rows.Add(dr);
}
this.gridControl1.DataSource = dt;
this.gridView1.PopulateColumns(); //显示gridCOntrol 数据

DataTable使用总结的更多相关文章

  1. DataTable 转换成 Json的3种方法

    在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List<T>.DataTable转换为Json格式.特别在使用Extjs框架的时候,A ...

  2. C#中将DataTable导出为HTML的方法

    今天我要向大家分享一种将DataTable导出为到HTML格式的方法.有时我们需要HTML格式的输出数据, 以下代码就可以帮助我们达到目的,. 首先,我们要绑定DataTable和 DataGridV ...

  3. DataTable转换成IList<T>的简单实现

    DataTable的无奈 很多时候,我们需要去操作DataTable.但DataTable的操作,实在是太不方便了.Linq?lambda表达式?统统没有... 特别是对现有结果集做进一步筛选,这样的 ...

  4. 自用的基于Emit的C#下DataTable转实体类方法

    之前一直在做WebForm的开发,数据绑定时直接DataTable绑定Gridview很方便,但是最近开始往MVC转,数据列表的传递和页面展示基本上是以List为主,像下面这样,遍历实体类的各个字段去 ...

  5. jquery dataTable汉化(插件形式)

    1.jquery dataTable.js 官网:http://datatables.net/ 中文:http://dt.thxopen.com/ 2.汉化提示信息(放到xx.js中,引入即可) 注: ...

  6. DataTable与DTO对象的简易转换类

    在web开发过程中,有时候为了数据传输的方便,比如:后台需要更新前端的ViewModel,此时我们定义一个与前端ViewModel结构一样的DTO对象,从数据层获取数据后,将数据封装成DTO然后序列化 ...

  7. asp.net DataTable导出Excel 自定义列名

    1.添加引用NPOI.dll 2.cs文件头部添加 using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System.IO; 3.代码如 ...

  8. asp.net dataTable转换成Json格式

    /// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"> ...

  9. DataTable的orderby有关问题

    在网上找了一个在后台重新对DataTable排序的方法(之所以不在数据库是因为我生成的是报表,写了存储过程用的表变量,order by也要用变量,死活拼不起来,sql能力没过关,动态sql也试了) s ...

  10. 关于c#在DataTable中根据条件删除某一行

    我们经常会将数据源放在DataTable里面,但是有时候也需要移除不想要的行,下面的代码告诉你们 DataTable dts:                DataRow[] foundRow;   ...

随机推荐

  1. vmstat 命令详解 转载

    vmstat 命令详解   procs:r-->在运行队列中等待的进程数b-->在等待io的进程数w-->可以进入运行队列但被替换的进程 memoyswap-->现时可用的交换 ...

  2. HDU 4390 Number Sequence 容斥原理

    Number Sequence Time Limit: 10000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  3. Android数据的四种存储方式

    作为一个完成的应用程序,数据存储操作是必不可少的.因此,Android系统一共提供了四种数据存储方式.分别是:SharePreference.SQLite.Content Provider和File. ...

  4. Linux学习小结(转)

    linux目录架构 / 根目录/bin    常用的命令 binary file 的目錄/boot   存放系统启动时必须读取的档案,包括核心 (kernel) 在内/boot/grub/menu.l ...

  5. maven搭建项目的时候,src/main/java无法建立的问题,提示信息The folder is already a source folder.(文件夹已经是源文件夹。)

    原因:maven自己引的jdk包不对,需要重新引包 操作方式: 1.在项目上右击(或用快捷键ALT+ENTER),打开properties-->java builder path-->re ...

  6. noip2009提高组题解

    NOIP2009题解 T1:潜伏者 题目大意:给出一段密文和破译后的明文,一个字母对应一个密文字母,要求破译一段密文,如果有矛盾或有未出现密文无法破译输出failed,否则输出明文. 思路:纯模拟题 ...

  7. phonegap ios默认启动页

    phonegap创建的项目默认的启动界面是phonegap的图标,想去掉这个图标,有两个方法,第一就是将resourece下面的splash文件下面的图片改成自己想要的启动页面,名字要相同,替换掉它默 ...

  8. WWF3自定义活动<第八篇>

    WWF提供了对原有活动进行扩展以及自定义新活动的功能,用户可以通过"Workflow Activity Library"创建和开发自定义活动. 一.自定义活动类型 默认情况下,创建 ...

  9. leetcode 110

    110. Balanced Binary Tree Given a binary tree, determine if it is height-balanced. For this problem, ...

  10. 一、Linux目录结构

    转自:http://www.cnblogs.com/JCSU/articles/2770249.html 你想知道为什么某些程序位于/bin下,或者/sbin,或者/usr/bin,或/usr/sbi ...