DataTable使用总结
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使用总结的更多相关文章
- DataTable 转换成 Json的3种方法
在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List<T>.DataTable转换为Json格式.特别在使用Extjs框架的时候,A ...
- C#中将DataTable导出为HTML的方法
今天我要向大家分享一种将DataTable导出为到HTML格式的方法.有时我们需要HTML格式的输出数据, 以下代码就可以帮助我们达到目的,. 首先,我们要绑定DataTable和 DataGridV ...
- DataTable转换成IList<T>的简单实现
DataTable的无奈 很多时候,我们需要去操作DataTable.但DataTable的操作,实在是太不方便了.Linq?lambda表达式?统统没有... 特别是对现有结果集做进一步筛选,这样的 ...
- 自用的基于Emit的C#下DataTable转实体类方法
之前一直在做WebForm的开发,数据绑定时直接DataTable绑定Gridview很方便,但是最近开始往MVC转,数据列表的传递和页面展示基本上是以List为主,像下面这样,遍历实体类的各个字段去 ...
- jquery dataTable汉化(插件形式)
1.jquery dataTable.js 官网:http://datatables.net/ 中文:http://dt.thxopen.com/ 2.汉化提示信息(放到xx.js中,引入即可) 注: ...
- DataTable与DTO对象的简易转换类
在web开发过程中,有时候为了数据传输的方便,比如:后台需要更新前端的ViewModel,此时我们定义一个与前端ViewModel结构一样的DTO对象,从数据层获取数据后,将数据封装成DTO然后序列化 ...
- asp.net DataTable导出Excel 自定义列名
1.添加引用NPOI.dll 2.cs文件头部添加 using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System.IO; 3.代码如 ...
- asp.net dataTable转换成Json格式
/// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"> ...
- DataTable的orderby有关问题
在网上找了一个在后台重新对DataTable排序的方法(之所以不在数据库是因为我生成的是报表,写了存储过程用的表变量,order by也要用变量,死活拼不起来,sql能力没过关,动态sql也试了) s ...
- 关于c#在DataTable中根据条件删除某一行
我们经常会将数据源放在DataTable里面,但是有时候也需要移除不想要的行,下面的代码告诉你们 DataTable dts: DataRow[] foundRow; ...
随机推荐
- Linux高级使用功能
1.磁盘管理 LVM 对磁盘的管理,可以拉伸分区的大小而不用格式化 2.网络管理 Iptables 对网络的端口进行管理,放行禁用 3.服务器 apache.nigix html静态的服务器 nigi ...
- 11gr2 alert日志中报TNS-12535 TNS-00505原因及解决方法 (转载)
前面新装了11GR2 RAC,某天在做巡检的时候发现alert日志中存在如下报错:Fatal NI connect error 12170. VERSION INFORMATION: T ...
- java解析xml的4种经典方法
========================================== xml文件 <?xml version="1.0" encoding="GB2 ...
- 2014款Macbook Air安装单独X64 Win7系统
之所以写出来,是因为网上大多是用BootCamp安装双系统的,安装单独Win7的教程少之又少,然后大多数还写得不清不楚,所以折腾了一阵子.其实装好之后,还是觉得挺简单的. 我主要参考了两篇文章,链接如 ...
- Appium启动服务报错
错误信息如下: error: Could not find a device to launch. You requested 'iPhone 6 (8.4)', but the available ...
- OpenStack学习笔记(一)----安装虚拟化工具
下面的命令运行在操作系统Ubuntu 14.04上. 在开源软件里面,主要是采用KVM和Xen.尽管OpenStack对KVM和Xen都支持,但是OpenStack对KVM的支持明显要比Xen做得好, ...
- 微信公众号发起微信支付 c#
tenpay.dll: MD5Util.cs using System; using System.Collections.Generic; using System.Linq; using Syst ...
- MSP430F149学习之路——按键与LED
代码 /*********************************** 程序功能:用按键控制LED状态 缺点:按键按下后无法改变LED灯的状态,可以利用板上的复位键^~^ ********** ...
- org.apache.ibatis.reflection.ReflectionException
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.Reflecti ...
- html5 搖一搖
<script> // 首先在页面上要监听运动传感事件 function init(){ if (window.DeviceMotionEvent) { // 移动浏览器支持运动传感事件 ...