用Rowfilter加入过滤条件

eg:

string sql = "select Name,Age,Sex from UserInfo";

DataTable dt = DataAccess.GetDataTable(sql);//外部方法(通过一条查询语句返回一个DataTable)

dt.DefaultView.RowFilter = "Sex=女";

dt.DefaultView.RowFilter = "Age>18";

dt.DefaultView.RowFilter = "Name like '%张%'";

不过RowFilter不支持不等于(<>、!=、not like),不过如果只是单纯的对确定的字符串操作,可以用in和not in,数据库查询语句则不行。

Dim dt As DataTable = Getdata(20078, "abc")
Dim view As DataView = New DataView(dt)
view.RowFilter = "Names in('ttt','tttt')"
GridView1.DataSource = view.ToTable() --这个才过滤成功 
GridView1.DataBind()

Private Function GetNewTable(ByVal dt As DataTable, ByVal filter As String) As DataTable
Dim newTable As DataTable = dt.Clone()
Dim drs As DataRow() = dt.Select(filter)
For Each dr As DataRow In drs
Dim arr As Object() = dr.ItemArray
Dim newrow As DataRow = newTable.NewRow()
For i As Integer = 0 To arr.Length - 1
newrow(i) = arr(i)
Next
newTable.Rows.Add(newrow)
Next
Return newTable
End Function

datatable 中select在vb.net中写法

ds.Tables("RoomType").Select("MealType=" & "'" & mgdr("MealType") & "' and Roomtypecode=" & "'" & mgdr("Roomtypecode") & "' and Availability=" & "'" & mgdr("Availability") & "' and VendorCurreny=" & "'" & mgdr("VendorCurreny") & "' and RoomAdults=" & "'" & mgdr("RoomAdults") & "' and FromDate=" & "'" & mgdr("FromDate") & "' and ToDate=" & "'" & mgdr("ToDate") & "' and Runno=" & "'" & mgdr("Runno") & "'")

也可以用String.Format 格式化

data.Tables("error").Columns.Remove("postXml")'移除某列数据
GridView2.DataSource = data.Tables("error")
GridView2.DataBind()

DataTable RowFilter 过滤数据的更多相关文章

  1. ADO.NET 快速入门(十):过滤数据

    我们有很多方法来过滤数据.一种是在数据库命令级别,利用 where 子句查询过滤数据.另一种是在数据填充到 DataSet 以后过滤数据.本篇讨论后者.   一旦数据填充到 DataSet,你可以使用 ...

  2. 20180322 对DataTable里面的数据进行去重

    对DataTable里面的数据进行去重 DataTable dt = new DataTable(); dt.Columns.Add("Id", typeof(int)); dt. ...

  3. 怎样简单灵活地将DataTable中的数据赋值给model

    最近在做的一个项目中,有13个方法都需要用到同一种处理方式:通过SQL语句从数据库获取一条指定的数据,并将该数据中的每个值都赋值给一个model,再将这个model中的数据通过微信发送出去.每个方法都 ...

  4. C#利用SqlDataAdapte对DataTable进行批量数据操作

    C#利用SqlDataAdapte对DataTable进行批量数据操作,可以让我们大大简化操作数据的代码量,我们几乎不需要循环和不关心用户到底是新增还是修改,更不用编写新增和修改以及删除的SQL语句, ...

  5. asp.net过滤数据中有异常数据字符串

    /// <summary> /// 过滤数据 /// </summary> /// <param name="_str"></param& ...

  6. 用php自带的filter函数验证、过滤数据 -转载

    PHP过滤器包含两种类型 Validation:用来验证验证项是否合法 Sanitization:用来格式化被验证的项目,因此它可能会修改验证项的值,将不合法的字符删除等. input_filters ...

  7. Android利用Filter过滤数据

    MainActivity如下: package cc.testfilterable; import java.util.ArrayList; import java.util.HashMap; imp ...

  8. Silverlight中如何自己写方法将DataTable转换为PagedCollectionView数据(动态创建类)

    将DataTable转换为PagedCollectionView数据,我们可以借用DataTable的GetBindableData()方法,如下: DataTable dt=new DataTabl ...

  9. 从DataTable中查询数据

    /// <summary> /// 从DataTable中查询数据 /// </summary> /// <param name="tb">待处 ...

随机推荐

  1. http超文本传输协议,get与post区别

    一:什么是http? http:超文本传输协议(HTTP,HyperText Transfer Protocol),是一个客户端和服务器端传输的标准,是应用层通信协议.客户端是中端用户,服务器端是网站 ...

  2. 145. Binary Tree Postorder Traversal(二叉树后序遍历)

    Given a binary tree, return the postorder traversal of its nodes' values. For example:Given binary t ...

  3. presto 0.166安装部署

    系统:linux java:jdk 8,64-bit Connector:hive 分布式,node1-3 node1:Coordinator . Discovery service node2-3: ...

  4. linux 虚拟机设置好固定ip 修改了 dns 网络需要设置成桥接模式

    linux  虚拟机设置好固定ip 修改了 dns  网络需要设置成桥接模式  可以修复网络连接(浏览器返回 server not  found)

  5. python中统计计数的几种方法

    以下实例展示了 count() 方法的使用方法: 1 2 3 4 5 6 # !/usr/bin/python3   T = (123, 'Google', 'Runoob', 'Taobao', 1 ...

  6. 在安装好MySql后忘记root的密码,或者给root添加密码

    一.编辑MySql的配置文件:my.ini(在MySql安装目录下). 打开配置文件,在文件最后一行添加:skip-grant-tables,然后保存退出. 意思为就是在启mysql时不启动grant ...

  7. ThinkPHP 调用后台方法

    <a href="__URL__/del/id/{$vo['id']}">删除</a>

  8. wget指定目录下载以及其它的使用方式

    转自 http://java-er.com/blog/wget-useage-x/ 有时候我们需要wget一个文件下载到指定的目录下,或者重命名成指定的名字 wget -r -p -np -k -P ...

  9. Eclipse安装zylin[转]

    本文转载自:https://blog.csdn.net/dns888222/article/details/9263485 Eclipse安装zylin 在网上搜的是安装页为http://www.zy ...

  10. C++ 单词接龙

    问题描述: 拉姆刚刚开始学习英文字母,对单词排序很感兴趣,他能够迅速确定是否可以将这些单词排列在一个列表中,使得该列表中任何单词的首字母与前一个单词的尾字母相同,力能编写一个计算机程序帮助拉姆进行判断 ...