Datatable 这个数据类型在C#中涉及到对数据库读取时的用处还是挺大的,最近在处理一个报表开发时,一开始把所有的操作都放在sql 上面来做,就是我需要什么样的数据我就query出什么,但是这样其实是很不方便的,后来发现Datatable的功能其实是很强大的,能够对数据进行一些处理,因此将所遇到的记录下来。

1.增加行、插入行

            DataTable dtEnterprise = new DataTable();
DataRow dr = dtEnterprise.NewRow();
dr["CATEGORY"] = "合计";
dr["MAIN"] = "";
dtEnterprise.Rows.Add(dr);//加在最后一行
dtEnterprise.Rows.InsertAt(dr, i);//加在第i行

2.修改数据

        DataTable dtEnterprise = new DataTable();
DataRow replace = dtEnterprise.Rows[i];
replace.BeginEdit();
replace["CATEGORY"] = "";
replace["MAIN"] = "";
replace.EndEdit();

3.修改列名

        DataTable dtEnterprise = new DataTable();
dtEnterprise.Columns["CATEGORY"].ColumnName = "分类";
dtEnterprise.Columns["MAIN"].ColumnName = "主要";
//取列名
string name=dtEnterprise.Columns[i].ColumnName;

4.修改列顺序

        DataTable dtEnterprise = new DataTable();
dtEnterprise.Columns["CATERGORY"].SetOrdinal();
dtEnterprise.Columns["MAIN"].SetOrdinal();

5.计算(简单的记录下遇到的求和其余后续再了解)

            DataTable dtEnterprise = new DataTable();
int Sum_count = int.Parse(dtEnterprise.Compute("sum(count)", "true").ToString());
int Sum_death = int.Parse(dtEnterprise.Compute("sum(death)", "true").ToString());

6.删除行(似乎还有delete方法后续补充)

            DataTable dtEnterprise = new DataTable();
dtEnterprise.Rows.RemoveAt(i);

7.选取行()

            DataTable dtEnterprise = new DataTable();

            DataView davTemp = new DataView(dtEnterprise, "过滤条件", "排序字段", DataViewRowState.状态);
//把过滤后的表赋给新表
DataTable datNew = davTemp.ToTable();

8.选取列()

            DataTable dtEnterprise = new DataTable();

            DataTable datNew = dtEnterprise.DefaultView.ToTable(false, new string[] { "列名", "列名"});

9.排序()

https://blog.csdn.net/zhensoft163/article/details/5692572

10.某列distinct值

                DataView dtv = dt_com.DefaultView;
var group_1 = dtv.ToTable(true, "name");

DataTable数据类型的一些操作 增加行、插入行、修改数据、修改列名、修改列顺序、计算、选取或删除行(列)、排序、某列distinct值 等的更多相关文章

  1. Elasticsearch2.4.6版本 在linux 命令行 对数据的增删改操作

    一._cluster系列:查询设置集群状态 1.设置集群状态 curl -XGET 10.68.120.167:9204/_cluster/health?pretty=true pretty=true ...

  2. oracle 向数据库同时插入多条数据

    oracle 与 mysql 不同. mysql 可以直接插入多条数据的操作:  采用 INSERT INTO 某表 VALUES(各个值),VALUES(各个值),.....; 或者 INSERT ...

  3. FineReport——插入行策略

    1.空值是默认的选项,即每次插入新行时,格子都是空白的. 2.原值即单元格中原有内容是什么,就复制到新增的格子中,一般适用于单元格是使用公式定义的, 在插入单元格时,公式会保留下来. 3.默认值即通过 ...

  4. 【oracle笔记1】基础知识大集锦:增删改,数据类型,用户操作,持续更新中···

    什么是数据库?数据库就是用来存储和管理数据的仓库.首先我来简单介绍一下各数据库的背景,常见的数据库如下,oracle:甲骨文公司(市场占用率最高),oracle也是一个公司名,翻译过来就是甲骨文的意思 ...

  5. C# datatable增加行(datarow)数据为另一个datatable中某行

    两个表A和B,两表结构相同.现在需要将A表中部分行拷贝到B表中,直接用 DataTableB.rows.add(dataTableA.rows[0]) 这样的方法式会报"row已经属于A表& ...

  6. poi读取Excel模板并修改模板内容与动态的增加行

    有时候我们可能遇到相当复杂的excel,比如表头的合并等操作,一种简单的方式就是直接代码合并(浪费时间),另一种就是写好模板,动态的向模板中增加行和修改指定单元格数据. 1.一个简单的根据模板shee ...

  7. Redis系列(二):Redis的数据类型及命令操作

    原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...

  8. redis数据类型及订阅操作

    Redis数据类型详解 Redis键/值介绍 Redis key值是二进制安全的,这意味着可以用任何二进制序列作为key值,从形如“foo”的简单字符串到一个JPG文件的内容都可以.空字符串也是有效k ...

  9. MySQL数据库笔记二:数据类型及数据库操作

    三.MySQL数据库数据类型 MySQL数据库中支持多种数据类型:数值型.字符型.日期型 常用的数据类型: 1.整型 int:整形,存储整数 int(M):M表示预期值.与存储大小和数值的范围无关. ...

随机推荐

  1. Duilib自定义控件

    新版博客已经搭建好了,有问题请访问 htt://www.crazydebug.com 在公司二期项目中为了将谷歌内核嵌入到duilib中,采用了自定义duilib控件的方法,由于也是第一次用duili ...

  2. Keras入门——(3)生成式对抗网络GAN

    导入 matplotlib 模块: import matplotlib 查看自己版本所支持的backends: print(matplotlib.rcsetup.all_backends) 返回信息: ...

  3. IDEA中maven工程打包时使用跳过test模式

  4. VirtualBox安装Debian

    1.下载Debian的dvd1,按照http://www.jb51.net/os/85858.html网上教程安装Debian 1.1.我创建了20G的虚拟磁盘,分区的时候我分了3个区,2G交换空间, ...

  5. spinner的使用

    item.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...

  6. Day9 - H - 最少拦截系统 HDU - 1257

    某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于 ...

  7. 102、Java中String类之相等判断(忽略大小写)

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  8. js隐藏button

    $("#plshbtn").attr("style","display:none;");

  9. Mysql数据库日志,备份及回滚操作

    一.打开二进制日志配置 : 在Windows系统下,对mysql的my.ini的log-bin等进行配置目录位置时,假设要将log-bin的日志配置到D盘的mysqllog的文件为binlog.则可以 ...

  10. 常用keycode列表

    KEYCODE列表 电话键   KEYCODE_CALL 拨号键 5 KEYCODE_ENDCALL 挂机键 6 KEYCODE_HOME 按键Home 3 KEYCODE_MENU 菜单键 82 K ...