dataView及其用法
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及其用法相关推荐
- DataView的用法
DataView就是表示用于排序,筛选,搜索,编辑个导航的DataTable的可绑定数据的自定义视图.DataView提供基础DataTable中数据的动态视图 创建DataView对象: 创建Dat ...
- DataView对象的用法 1207
DataView对象的用法 1207 实例化 new DataView(); DataView dv = new DataView(); 从仓库获取数据 dv对象.Table = 仓库.Tables[ ...
- c#dataview遍历_[C#] DataView用法
[C#] DataView用法 - - 在实际编程工程中,常常遇到这样的情况:DataTable并不是数据库中的,或者DataTable尚未写到数据库,或者从数据库中读出的DataTable已经在本地 ...
- using的几种用法 C#
//using 用作命名空间指示符 using System; using System.Collections.Generic; using System.Text; using System.IO ...
- DataTable、DataView、ListBox 数据绑定与查询
DataTable的一些特殊用法:Select /**//* * 补充一下,还可以利用DataView来达到检索的目的. */ DataTable dataSource = new DataTa ...
- 数据绑定以及Container.DataItem几种方式与用法分析 收藏
数据绑定以及Container.DataItem几种方式与用法分析 收藏 灵活的运用数据绑定操作 绑定到简单属性:<%#UserName%> 绑定到集合:& ...
- wxWidgets:wxDataViewTreeCtrl类用法
wxWidgets:wxDataViewTreeCtrl类用法 wxWidgets:wxDataViewTreeCtrl类用法 用法详细说明 wxWidgets:wxDataViewTreeCtrl类 ...
- wxWidgets:wxDataViewModel类用法
wxWidgets:wxDataViewModel类用法 wxWidgets:wxDataViewModel类用法 用法详细说明 wxWidgets:wxDataViewModel类用法 用法详细说明 ...
- wxWidgets:wxDataViewEvent类用法
wxWidgets:wxDataViewEvent类用法 wxWidgets:wxDataViewEvent类用法 用法详细说明 wxWidgets:wxDataViewEvent类用法 用法详细说明 ...
最新文章
- html 列表bootstrap,bootstrap都有哪些类?
- 分布式事务框架_阿里分布式事务框架GTS开源啦!
- 平板涂色(信息学奥赛一本通-T1445)
- 百分百储值卡回收网站源码+手机模板
- bbPress 介绍,安装和中文包
- JDBC模板对象是多例的
- 计算指定人数班级的班级平均成绩(计数器控制控制的循环)
- 运维讨厌流浪地球的原因
- 解决UITableView分割线距左边有距离的办法
- 600度近视眼恢复方法_600度的近视眼,恢复视力要注意
- SRE问题排查四步法——以建立HTTPS连接失败问题排查为例
- java管理系统删除报错_Java版学籍管理系统
- CGCS2000 平面坐标系转大地坐标系
- windows 7下安装软件时窗口显示不全的问题
- 功能超全的库存管理系统,拿来学习真香
- 陆小曼给徐志摩的挽联
- S32K344休眠与唤醒配置的一种方法
- Error:..\FreeRTOS\src\queue.c,1244
- 深入浅出-网络七层模型
- oracle详细笔记
热门文章
- Linux 的体系结构结构
- 医学统计学 第七章(假设检验)
- js中类似`${xx,xxxy}`的语句
- Mac有哪些解压缩软件,他们的优缺点是什么,哪款比较好用?
- 初级入门——认识Python语言
- C++实现的利用LR(1)分析表对赋值表达式进行语法制导翻译生成四元式及汇编代码
- 【Transformers】第 7 章 :问答
- IPS面板和PLS液晶面板区别
- 区块链Web3j编程: 账户交易(普通交易,裸交易)
- html是网页吗,web是网页吗?