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; ...
随机推荐
- ubuntu14.04配置Hive1.2.1
1.添加环境变量:vi ~/.bashrc #HIVE VARIABLES START export HIVE_HOME=/usr/local/hive-1.2.1 export PATH=$PATH ...
- OC基础(2)
类与对象 类的设计 第一个OC类 对象方法的声明和实现 类方法的声明和实现 *:first-child { margin-top: 0 !important; } body > *:last-c ...
- github添加ssh认证
总概:在使用git的时候,和目标仓库建立关系有两种方式https,ssh.一般用的是https认证(这样简单方便),但有个缺点,pull,push等操作需要频繁输入用户验证.虽然可以把用户验证账号密码 ...
- 求编译器中数的最值(c++)
#include <limits> //头文件 #include <iostream> using namespace std; int main() { cout <& ...
- 学习总结 html图片热点,网页划区,拼接,表单
表单: action="负责处理的 <form id="" name="" method="post/get"服务端&quo ...
- 华为OJ平台——首次不重复字符
题目描述: 输入一个字符串,输出字符串中第一个没有重复的字符,若没有满足条件的字符存在,则输出“.” 思路: 这题很简单,直接逐次比较就好了,但是没有考虑到更好效率的方法,以后想到的话再加上来 imp ...
- 华为OJ平台——放苹果(典型整数划分问题)
题目描述: 输入m,n,分别表示苹果数与盘子的总数,要求输出苹果放在n个盘子的方法总数(注意511和151是一种情况),例如输入 7 3 输出8((7),(6,1),(5,2),(4,3),(5,1, ...
- Oracle 学习系列之二(会话与事务级临时表和dual表 )
一. 会话临时表 --创建会话临时表create global temporary table tmp_user_session(user_id int, user_name varchar2(20) ...
- AX 的 NumberSequences
EG: 在库存模块新加一个numberSequences. 1. 新加一个EDT\ SML_Test1; 2. 在库存模块的 class\NumberSeqReference_Inventory\Lo ...
- jquery css快捷方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...