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. 【转】干货分享-100个shell脚本

    本文用于记录学习和日常中使用过的shell脚本 [脚本1]打印形状 打印等腰三角形.直角三角形.倒直角三角形.菱形 #!/bin/bash # 等腰三角形 read -p "Please i ...

  2. 吴裕雄--天生自然HADOOP操作实验学习笔记:安装zookeeper集群

    实验目的 了解zookeeper的概念和原理 学会安装zookeeper集群并验证 掌握zookeeper命令使用 实验原理 1.Zookeeper介绍 ZooKeeper是一个分布式的,开放源码的分 ...

  3. zabbix开启对中文的支持--&&--中文乱码解决方法

    zabbix不支持中文图 开启zabbix对中文的支持 原来zabbix默认把对中文的支持给关闭了,我们需要修改zabbix的php源文件. 修改站点根目录下include/locales.inc.p ...

  4. HTML相关知识点

    标签: 块元素:可以设置宽高,div, 行内元素:不可以设置宽高,span,image, display:inline;//转换成行内元素 display:block;//转换成块元素 display ...

  5. ubuntu用命令行打开vscode

    1.打开终端 2.输入code即可

  6. java课堂第一次随机测试和课件课后动手动脑问题解决(2019-9-16 )

    一.课堂测试 1.课堂测试:花二十分钟写一个能自动生成30道小学四则运算题目的 “软件” 要求 (1)减法结果不能为负数 (2)乘法结果不得超过一百,除法结果必须为整数 (3)题目避免重复: (4)可 ...

  7. APP原型的设计步骤是什么?

    当我们开始设计一款APP的原型时,应该遵从的设计步骤是什么?总结一下自己首次设计APP的思路步骤,以期自己对原型的设计认知能更规范化.流程化. 一.定框架 一款APP应该有固定的上导航.下导航和尺寸大 ...

  8. redis学习笔记-03:redis安装

    一.redis的安装和配置 1.下载redis-5.0.4.tar.gz到/opt目录下,解压命令 :tar -zxvf redis-5.0.4.tar.gz,解压后出现redis-5.0.4的文件夹 ...

  9. Metasploit学习笔记——强大的Meterpreter

    1. Meterpreter命令详解 1.1基本命令 使用Adobe阅读器渗透攻击实战案例打开的Meterpreter会话实验,靶机是WinXP.由于所有命令与书中显示一致,截图将书中命令记录下来. ...

  10. Maven项目- "null" 的java.lang.reflect.InvocationTargetException 解决方法

    异常显示: 解决方法: