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; ...
随机推荐
- MFC学习 画图设置字体按钮风格
修改按钮样式时, 设置按钮关联哪个按钮类, 按钮类是自己写的, 从CButton继承, 重写DrawItem可修改按钮样式. 代码中包括画线, 点, 圆, 设置这些的样式, 如线粗, 颜色, 字体. ...
- NOIP2003 传染病防治
描述 研究表明,这种传染病的传播具有两种很特殊的性质:第一是它的传播途径是树型的,一个人X只可能被某个特定的人Y感染,只要Y不得病,或者是XY之间的传播途径被切断,则X就不会得病. 第二是,这种疾病的 ...
- 两个一样的tomcat不能同时启动解决方法
环境:两个Tomcat7.0.20,使用一个JVM,JDK7,Win7 64位系统. 1.使用压缩版的tomcat不能使用安装版的. 2.第一个tomcat的配置不变. 3.增加环境变量CATALIN ...
- 来自Google产品管理和营销高级副总裁Jonathan Rosenberg的42条军规(转)
#35 营造一个说 yes 的文化 你想要建立一个充满正能量和积极思考的地方.“组织里有阻碍变革发生的抗体.所以许多大公司无法创新.如果你是一个创新者,你就变成了病毒,所有的抗体都想杀死你.”在这种情 ...
- android 上传文件用php程序在服务端接受(一)
php服务端接受程序..file_up.php. <?php /* require_once('lib/session_config.php'); require_once('lib/flydc ...
- android Tab =viewpager+fragmnet
1.定义几个fragment 的subclass 如fragmentone,fragmenttwo; public class fragmentthree extends Fragment { pri ...
- [python 2.7.5] 实现配置文件的读写
import ConfigParser config = ConfigParser.RawConfigParser() # When adding sections or items, add the ...
- 学习java 第1天
自己是刚刚开始自学java看了视频和书 =-=,刚开始我先对命令窗口进行了一个大体上的了解 ,首先是打开,可以右键开始键,然后选择命令提示符,我更喜欢第二种,就是使用Win+R,然后输入cmd进入,我 ...
- sqlserver监控阻塞(死锁)具体情况
公司sqlserver的监控系统主要是采用zabbix监控,但是zabbix的监控只能通过性能计数器给出报警,而无法给出具体的阻塞情况,比如阻塞会话.语句.时间等,所以需要配合sqlserver的一些 ...
- 十八、ValueStack&ActionContext(非常重点:值栈)
ValueStack&ActionContext(非常重点:值栈) 1.针对用户的每次动作访问,都会创建属于自己的ValueStack对象 2.ValueStack中的的常用方法:功能一定要知 ...