转自:https://blog.csdn.net/u011981242/article/details/52419460
筛选DataTable中的数据,使用 Select()方法,筛选结果可以保存到 DataRow[] drArr 也可以另存为一个新DataTable

筛选示例:


DataRow[] drArr = dt.Select("C1='abc'");//查询(如果Select内无条件,就是查询所有的数据)
DataRow[] drArr1 = dt.Select("C1 LIKE 'abc%'");   //模糊查询(如果的多条件筛选,可以加 and 或 or )
DataRow[] drArr2 = dt.Select("'abc' LIKE C1 + '%'", "C2 DESC");   //另一种模糊查询的方法
DataRow[] drArr3 = dt.Select("C1='abc'", "C2 DESC");   //按C2倒序排序
DataRow[] drArr4 = dt.Select("[Student Name] Like '王%'") //如果列名中间有空格 需要加一个中括号

筛选结果存储:

DataTable dtNew2 = dt.Clone();  //复制结构
for (int i = 0; i < drArr.Length; i++)
{dtNew2.ImportRow(drArr[i]);   //ImportRow 是复制
}

其中排序也可以通过方法实现:

public void SortDataTable(DataTable dt)
{dt.DefaultView.Sort = "id desc";//重新设置排序DataTable dtNew = dt.DefaultView.ToTable(); //保存在一张新表中
}

--------------------------------------------------------------------------------------

理解了上面的方法后,写了以下的固定方法,随时可以调用

  /// <summary>查找dataTable表/// /// </summary>/// <param name="strFilter">过滤语句</param>/// <param name="orginalDt">dataTable</param>/// <returns></returns>public static DataTable FilterDataTable(string strFilter, DataTable orginalDt){DataRow[] drArr = orginalDt.Select(strFilter);DataTable newDt = new DataTable();newDt = orginalDt.Clone();    for (int i = 0; i < drArr.Length; i++){newDt.ImportRow(drArr[i]);    }return newDt;}

调用:
string strFilter=@"姓名 like '王%' and 性别 = '男' and 姓名 ASC" //查找姓名列的王姓、男性,并按照姓名正序排列
dataGridView.DataSource=FilterDataTable(strFilter,myDt) //myDt是你原先的datatable

DataTable数据过滤方法相关推荐

  1. Pandas常见的数据过滤方法、通过列条件筛选行数据

    Pandas常见的数据过滤方法.通过列条件筛选行数据 不废话了,直接看代码吧: 一般情况下,前面5种就覆盖了绝大多数需求 import pandas as pd import numpy as npd ...

  2. c# datatable数据合并方法

    合并方法1:用Rows.Add方法 DataTable1.Rows[i].ItemArray.CopyTo(obj, 0);newDataTable.Rows.Add(obj); 合并方法2:用Dat ...

  3. 使用filter()方法进行数据过滤

    数据过滤类似于SQL中的WHERE语句,是在杂乱的数据中筛选出需要的数据.下面就介绍一下filter()方法. filter()是Stream接口提供的一个过滤方法.该方法以lambda表达式的逻辑过 ...

  4. 微信小程序 过滤html,微信小程序中数据过滤的实现方法介绍(代码)

    本篇文章给大家带来的内容是关于微信小程序中数据过滤的实现方法介绍(代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 因为微信小程序的wxml和js的内部实现机制是分开编译的.所 ...

  5. JS判断数据类型以及数据过滤空值方法

    JS判断数据类型以及数据过滤空值方法 在我们的项目开发中,经常需要对一个传输中的数据进行滤空处理,过滤 null.undefined.''.[].{}等,还要对字符串进行去除两端的空格操作.为此,我写 ...

  6. DataTable数据批量写入数据库三种方法比较

    DataTable数据批量写入数据库三种方法比较 标签: it 分类: C# 1)   insert循环插入: 2)   sqldataadapter.update(dataset,tablename ...

  7. SQL进行数据过滤的方法

    SQL数据过滤 提升查询效率 提升WHERE效率 使用通配符进行过滤 WHERE 及 ORDER BY 涉及到的列上增加索引 提升查询效率 1.结束返回结果的数量 LIMIT 指定筛选条件,进行过滤, ...

  8. R048---UiPath中四种筛选数据的方法

    一.缘起 用RPA处理数据时,对数据进行筛选,是个基本操作,这里将4种方法逐一罗列,供不同场景下选用. 二.使用方法 方法1:用Filter Data Table,这种方法适合普通业务用户. 拖拽该活 ...

  9. android用于查询数据的方法,android: SQLite查询数据

    掌握了查询数据的方法之后,你也就将数据库的 CRUD 操 作全部学完了.不过千万不要因此而放松,因为查询数据也是在 CRUD 中最复杂的一种 操作. 我们都知道 SQL 的全称是 Structured ...

最新文章

  1. 计算机科学与技术讲座psd,计算机科学的技术基本.ppt
  2. 2020年春季学期信号与系统课程作业参考答案-第九次作业
  3. 导出jar插件_利用类加载器解决不兼容的Jar包共存的问题
  4. leetcode算法题--合并两个排序的链表
  5. Ganglia监控安装配置
  6. 蓝牙协议分析(6)_BLE地址类型(蜗窝科技)
  7. 堆排序分析(大根堆为例,由小到大排序)
  8. C++中申请内存的正确方法
  9. Oracle入门(五F)之11g show spparameter 命令的使用
  10. Hive:使用Apache Hive查询客户最喜欢的搜索查询和产品视图计数
  11. 把一个数组分为多个数组
  12. 在制作html页面时,在制作Xhtml页面时是先写HTML代码还是先写CSS代码
  13. python单元测试断言,在单个Python单元测试中如何处理多个断言?
  14. element ui 图片控件 排序_vuedraggable+element ui实现页面控件拖拽排序效果
  15. 【网络】路由器和交换机区别,什么是网关
  16. python合并视频(mp4+mp3)
  17. 数字逻辑与数字系统总结
  18. java上机实验作业 编写汽车类car,Java代写:CS103 Car Rental代做留学生SQL实验作业...
  19. CCS调试问题 Break at address “0x3ff9ce“ with no debug information available, or outside of program code.
  20. Neuron segmentation using 3D wavelet integratedencoder–decoder network

热门文章

  1. 软件工程领域 相关概念
  2. 1db增益压缩点的作用
  3. iOS 集成腾讯云聊天 最新sdk使用方法
  4. python怎么做q检验_关于eviews做时间序列模型的残差Q统计量检验我决定写一些!...
  5. 在数据帧转发过程中源/目标IP地址,源/目标MAC地址的变化释疑---划重点!!!
  6. 5110. 近义词句子
  7. java -jar 执行jar包出现 java.lang.NoClassDefFoundError
  8. Java 已知三边求三角形求面积
  9. excel2016 for mac 二维表转一维表
  10. Windows下使用bat脚本批量创建文件夹