本文章已收录于:
                    

[+]

  1. Datatable数据类型介绍

    1. 简介
    2. 方法介绍
      1. 用法一声明一个datatable类型
      2. 用法二合并两个结构相同的datatable
      3. 用法三datatable中数据的计算
      4. 用法四两种遍历datatable的方法

Datatable数据类型介绍

简介:

这里介绍个在开发中经常用到的数据类型,数据类型为datatable。从数据库中查出的数据存放在datatable,但是很多情况下需要对查出的数据处理,这就需要积累些datatable方法,这样开发会更快。

方法介绍

用法一、声明一个datatable类型

通过声明自己创建一个datatable类型,并填充数据

[csharp] view plaincopy print?
  1. DataTable dt = newDataTable();
  2. dt.Columns.Add("Username");
  3. dt.Columns.Add("Level", typeof(int));
  4. dt.Rows.Add("John", 1);
  5. dt.Rows.Add("Cait", 2);

  DataTable dt = newDataTable();dt.Columns.Add("Username");dt.Columns.Add("Level", typeof(int));dt.Rows.Add("John", 1);dt.Rows.Add("Cait", 2);

如果datatable已经存在了创建一个同结构的

[csharp] view plaincopy print?
  1. DataTable dtNew = dt.Clone();

DataTable dtNew = dt.Clone();

带着数据:

[csharp] view plaincopy print?
  1. DataTable dtNew = dt.Copy();
 DataTable dtNew = dt.Copy();

用法二、合并两个结构相同的datatable

有的时候是分批来的要一起显示到通过控件中(比如gridview控件)

直接合两个表格

[csharp] view plaincopy print?
  1. DataTable dt1 = newDataTable();
  2. DataTable dt2 = newDataTable();
  3. dt1.Merge(dt2);

  DataTable dt1 = newDataTable();DataTable dt2 = newDataTable();dt1.Merge(dt2);

但有的时候需要经过遍历按照条件把一个表中的某些行添加到另一张表中

[csharp] view plaincopy print?
  1. foreach (DataRow dr in dt1.Rows)
  2. {
  3. if (Convert.ToInt32(dr["Level"] )== 1)
  4. {
  5. dt2.Rows.Add(dr.ItemArray);
  6. }
  7. }

foreach (DataRow dr in dt1.Rows){if (Convert.ToInt32(dr["Level"] )== 1){dt2.Rows.Add(dr.ItemArray);}}

用法三、datatable中数据的计算

有的时候需要对datatable中的数据进行计算,比如

聚合计算:

[csharp] view plaincopy print?
  1. DateTime StartTime = Convert.ToDateTime((dt.Compute("min(DateMonth)", string.Empty)));
  2. DateTime EndTime = Convert.ToDateTime((dt.Compute("max(DateMonth)", string.Empty)));

DateTime StartTime = Convert.ToDateTime((dt.Compute("min(DateMonth)", string.Empty)));DateTime EndTime = Convert.ToDateTime((dt.Compute("max(DateMonth)", string.Empty)));

这里是对时间类型类进行聚合得到最大时间和最小时间。

数据行过滤:

[csharp] view plaincopy print?
  1. DataTable dt = newDataTable();
  2. dt.Columns.AddRange(newDataColumn[] { newDataColumn("name", typeof(string)),
  3. newDataColumn("sex", typeof(string)),
  4. newDataColumn("score", typeof(int))
  5. });
  6. dt.Rows.Add(newobject[] { "李四", "男", 20 });
  7. dt.Rows.Add(newobject[] { "张三", "男", 1 });
  8. dt.Rows.Add(newobject[] { "张三", "男", 4 });
  9. dt.Rows.Add(newobject[] { "李四", "男", 100 });
  10. dt.Rows.Add(newobject[] { "李四", "女", 90 });
  11. dt.Rows.Add(newobject[] { "王五", "女", 77 });

DataTable dt = newDataTable();dt.Columns.AddRange(newDataColumn[] { newDataColumn("name", typeof(string)),newDataColumn("sex", typeof(string)),newDataColumn("score", typeof(int))});dt.Rows.Add(newobject[] { "李四", "男", 20 });dt.Rows.Add(newobject[] { "张三", "男", 1 });dt.Rows.Add(newobject[] { "张三", "男", 4 });dt.Rows.Add(newobject[] { "李四", "男", 100 });dt.Rows.Add(newobject[] { "李四", "女", 90 });dt.Rows.Add(newobject[] { "王五", "女", 77 });

数据过滤的到行,

[csharp] view plaincopy print?
  1. for (int i = 0; i < dtName.Rows.Count; i++)
  2. {
  3. DataRow[] rows = dt.Select("name=李四");
  4. }

for (int i = 0; i < dtName.Rows.Count; i++){DataRow[] rows = dt.Select("name=李四");}

数据列过滤

[csharp] view plaincopy print?
  1. DataTable dtName = dt.DefaultView.ToTable(true, "name", "sex");

DataTable dtName = dt.DefaultView.ToTable(true, "name", "sex");

用法四:两种遍历datatable的方法

[csharp] view plaincopy print?
  1. foreach (DataRow dr in dt2.Rows)
  2. {
  3. Console.Write(dr["Username"]);
  4. Console.Write(dr["Level"]);
  5. Console.WriteLine();
  6. }

foreach (DataRow dr in dt2.Rows){Console.Write(dr["Username"]);Console.Write(dr["Level"]);Console.WriteLine();          }
[csharp] view plaincopy print?
  1. for (int i = 0; i < dt1.Rows.Count; i++)
  2. {
  3. dt1[i][""]
  4. }

for (int i = 0; i < dt1.Rows.Count; i++){dt1[i][""]}

datatable数据类型方法相关推荐

  1. 遍历datatable的方法

    遍历datatable的方法2009-09-08 10:02方法一: DataTable dt = dataSet.Tables[0]; for(int i = 0 ; i < dt.Rows. ...

  2. ie9无法获取未定义或 null 引用的属性“indexof”_前端JS基础篇(二)JS基本数据类型和引用数据类型及检测数据类型方法...

    JS中的数据类型 (一).基本数据类型(值类型) 1.number:数字 -12.12.5.-12.5 0这些数字都是number: js中增加了一个number类型的数据:'NaN' typeof ...

  3. mvc的视图中显示DataTable的方法

    mvc的视图中显示DataTable的方法: 不断的循环画出table @{ViewBag.Title = "ShowDataTable"; } @using System.Dat ...

  4. 【转】C# DataTable使用方法详解

    在项目中常常常使用到DataTable,假设DataTable使用得当,不仅能使程序简洁有用,并且可以提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结. 1.添加引用 1 u ...

  5. icheck结合datatable使用方法及实现全选、反选功能

    icheck结合datatable使用方法及实现全选.反选功能 一.icheck使用方法 1.引入必要文件(皮肤的css及icheck的js) 皮肤文件选中和其它组件风格一致就好 jquery的引入需 ...

  6. DataTable.AcceptChanges方法有何用处

    提交自上次调用 AcceptChanges 以来对该表进行的所有更改. 调用 AcceptChanges 后,再用 DataAdapter.Update() 不会有任何新数据被更新到数据库中.那--那 ...

  7. c#拷贝datatable行_C# DataTable使用方法详解

    在项目中常常常使用到DataTable,假设DataTable使用得当,不仅能使程序简洁有用,并且可以提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结. 1.添加引用 usi ...

  8. 下列不是python数据类型的是_Python数据类型方法精心整理,不必死记硬背,看看源码一切都有了...

    Python认为一切皆为对象:比如我们初始化一个list时: li = list('abc') 实际上是实例化了内置模块builtins(python2中为__builtin__模块)中的list类: ...

  9. c# html datatable,C# DataTable使用方法详解

    //创建一个名为"dt"的空表 DataTable dt = new DataTable("dt"); //1.创建空列 DataColumn dc =new  ...

最新文章

  1. java配置中心开源项目_配置中心搭建(spring-cloud-config-server)
  2. LCA 求 树中两个点的距离
  3. python输出指定范围素数_怎么用python输出指定范围内的质数?
  4. IntelliJ IDEA 12创建Maven管理的Java Web项目(图解)
  5. MXNet.gluon——图像I/O
  6. eigen库学习笔记(2)
  7. mongodb 系列 ~ mongo 用户验证系列
  8. 花旗银行文章解释DeFi的好处
  9. 【数据结构】线段树(interval tree)
  10. python 全栈开发,Day109(客户管理之动态二级菜单)
  11. 表达式计算引擎-JEP
  12. 全网最详细的ensp模拟器安装教程
  13. 宝马和戴姆勒冻结自动驾驶合作项目
  14. 如何调整html中音乐播放器的大小,请教音乐播放器大小如何调整?
  15. 阿里云的esc服务器介绍
  16. LORA无线远传水表适者生存
  17. linux 硬盘满了如何处理
  18. 哪个平台回收速度快?
  19. 马力测试 软件,【图】【分享百公里加速测试软件DYNOLICIOUS】内附楼主的测试结果!...
  20. 教学管理系统-实验四 顺序图

热门文章

  1. php使用pdf2htmlex,转换 HTML 与 PDF 格式文档的神器
  2. python nonetype object has no_为什么会出现这个?'NoneType' object has no attribute 'contet
  3. python模拟键盘输入视频_python教程-模拟鼠标和键盘输入
  4. 老司机们都是怎么学习STM32的?
  5. C语言荣获2019年度最佳编程语言
  6. php系统函数代码,PHP自定义函数+系统函数库(代码示例)
  7. 造句简单_造句游戏的心理投射:被现代心理学摒弃的网红心理游戏
  8. wxpython bind自定义_wxPython的 - 如何从自定义对话框WX
  9. python语言里数字包括_4.1Python语言中的数字、字符串数据类型讲解
  10. 计算机用并行传输还是串行,网线RJ45是并行传输还是串行