dataView及其用法

创建DataView
public DataView();
public DataView(DataTable);

DataView只有同已经存在的、很可能是非空的DataTable对象连接后才可用。通常,这个连接在构造时就指定了。
DataView dv;
dv = new DataView(theDataSet.Tables[“Employees”]);

但是,你也可以先创建一个新的视图,然后再用Table属性同表相关联。
DataView dv = new DataView();
dv.Table = theDataSet.Tables[“Employees”];
DataView构造函数使你由DataTable中得到一个DataView对象。如果需要,反之亦可。事实上,DataTable对象的DefaultView属性返回一个该表的DataView对象。
DataView dv = dt.DefaultView;

一旦你有了 DataView对象, 你可以利用它的属性来建立你希望用户见到的数据行集。一般,你可以使用下列属性:
RowFilter
Sort
前者可以定制视图中可见数据应匹配的规则。而后者通过表达式来进行排序。当然你可以使用这两者的任意组合。

设置过滤 RowFilter是一个可读写的属性,用来读取和设置表过滤的表达式。
public virtual string RowFilter {get; set;}

你可以用列名,逻辑和数字运算符和常量的任意合法组合组成表达式。以下是一些例子:
dv.RowFilter = “Country = ‘USA’”;
dv.RowFilter = “EmployeeID >5 AND Birthdate < #1/31/82#”
dv.RowFilter = “Description LIKE ‘product’”

让我们来看一下过滤器的基本规则和运算符。
过滤字符串是表达式的逻辑连接。可以用AND,OR,NOT来连接成一个较短的表达式,也可以使用圆括号来组成子句,指定优先的运算。
通常包含列名的子句同字母、数字、日期或另一个列名进行比较。这里,可以使用关系运算符和算术运算符,如>=, <, >, +, *, % (取模)等等。
如果要选取的行并不能方便地通过算术或逻辑运算符表达,你可以使用IN操作符。以下代码显示如何选取一个随机行:
dv.RowFilter = “employeeID IN (2,4,5)”

你也可以使用通配符和%,它们同LIKE运算符一起使用时显得更有用。它们都表示任意数量的字符,可以相互替代使用。
请注意,如果在LIKE子句中已经有了
或%字符,你必须用方括号将其括起,以免歧义。如果很不幸,字符串中方括号本身也存在了,那么它也必须用将本身括起。这样,匹配语句会如下所示:
dv.RowFilter = “Description LIKE '[[][]]product[[][]]”

通配符只允许在过滤字符串的开头或结尾处使用,而不能在字符串中间出现。例如,下列语句会产生运行时错误:
dv.RowFilter = “Description LIKE 'prod*ct”

字符串必须以单引号括起,而日期型必须以#符号括起。字符型值可以使用小数点和科学计数法。
RowFilter也支持聚合函数,如SUM, COUNT, MIN,MAX, and AVG。如果表中没有数据行,那么函数将返回NULL。
在介绍RowFilter表达式的最后,让我们讨论三个很便利的函数:Len,IIF和Substring。
正如其名,Len()返回特定表达式的长度。该表达式可以是一个列名,也可以是其他合法的表达式。
Substring()返回指定的表达式自特定位置开始,特定长度的字符子串。
我最喜欢用的是IIF(),它按照逻辑表达式的值有一到两个值。IIF是IF-THEN-ELSE语句的紧凑表达。语法如下:
IIF(expression, if_true, if_false)

通过该函数,可以建立非常复杂的过滤字符串。例如,假定你从SQL Server的Northwind数据库中取得Employees表,下列表达式可以选出那些employeeID小于6且lastname为偶数个字符和employeeID大于6且lastname为奇数个字符的员工。
IIF(employeeID<6, Len(lastname) %2 =0, Len(lastname) %2 >0)

dataView及其用法相关推荐

  1. DataView的用法

    DataView就是表示用于排序,筛选,搜索,编辑个导航的DataTable的可绑定数据的自定义视图.DataView提供基础DataTable中数据的动态视图 创建DataView对象: 创建Dat ...

  2. DataView对象的用法 1207

    DataView对象的用法 1207 实例化 new DataView(); DataView dv = new DataView(); 从仓库获取数据 dv对象.Table = 仓库.Tables[ ...

  3. c#dataview遍历_[C#] DataView用法

    [C#] DataView用法 - - 在实际编程工程中,常常遇到这样的情况:DataTable并不是数据库中的,或者DataTable尚未写到数据库,或者从数据库中读出的DataTable已经在本地 ...

  4. using的几种用法 C#

    //using 用作命名空间指示符 using System; using System.Collections.Generic; using System.Text; using System.IO ...

  5. DataTable、DataView、ListBox 数据绑定与查询

    DataTable的一些特殊用法:Select /**//*  * 补充一下,还可以利用DataView来达到检索的目的.  */  DataTable dataSource = new DataTa ...

  6. 数据绑定以及Container.DataItem几种方式与用法分析 收藏

    数据绑定以及Container.DataItem几种方式与用法分析 收藏 灵活的运用数据绑定操作         绑定到简单属性:<%#UserName%>         绑定到集合:& ...

  7. wxWidgets:wxDataViewTreeCtrl类用法

    wxWidgets:wxDataViewTreeCtrl类用法 wxWidgets:wxDataViewTreeCtrl类用法 用法详细说明 wxWidgets:wxDataViewTreeCtrl类 ...

  8. wxWidgets:wxDataViewModel类用法

    wxWidgets:wxDataViewModel类用法 wxWidgets:wxDataViewModel类用法 用法详细说明 wxWidgets:wxDataViewModel类用法 用法详细说明 ...

  9. wxWidgets:wxDataViewEvent类用法

    wxWidgets:wxDataViewEvent类用法 wxWidgets:wxDataViewEvent类用法 用法详细说明 wxWidgets:wxDataViewEvent类用法 用法详细说明 ...

最新文章

  1. html 列表bootstrap,bootstrap都有哪些类?
  2. 分布式事务框架_阿里分布式事务框架GTS开源啦!
  3. 平板涂色(信息学奥赛一本通-T1445)
  4. 百分百储值卡回收网站源码+手机模板
  5. bbPress 介绍,安装和中文包
  6. JDBC模板对象是多例的
  7. 计算指定人数班级的班级平均成绩(计数器控制控制的循环)
  8. 运维讨厌流浪地球的原因
  9. 解决UITableView分割线距左边有距离的办法
  10. 600度近视眼恢复方法_600度的近视眼,恢复视力要注意
  11. SRE问题排查四步法——以建立HTTPS连接失败问题排查为例
  12. java管理系统删除报错_Java版学籍管理系统
  13. CGCS2000 平面坐标系转大地坐标系
  14. windows 7下安装软件时窗口显示不全的问题
  15. 功能超全的库存管理系统,拿来学习真香
  16. 陆小曼给徐志摩的挽联
  17. S32K344休眠与唤醒配置的一种方法
  18. Error:..\FreeRTOS\src\queue.c,1244
  19. 深入浅出-网络七层模型
  20. oracle详细笔记

热门文章

  1. Linux 的体系结构结构
  2. 医学统计学 第七章(假设检验)
  3. js中类似`${xx,xxxy}`的语句
  4. Mac有哪些解压缩软件,他们的优缺点是什么,哪款比较好用?
  5. 初级入门——认识Python语言
  6. C++实现的利用LR(1)分析表对赋值表达式进行语法制导翻译生成四元式及汇编代码
  7. 【Transformers】第 7 章 :问答
  8. IPS面板和PLS液晶面板区别
  9. 区块链Web3j编程: 账户交易(普通交易,裸交易)
  10. html是网页吗,web是网页吗?