DataView的用法

2023-11-06

转载:http://www.360doc.com/content/14/0422/15/19147_371133095.shtml

DataView就是表示用于排序,筛选,搜索,编辑个导航的DataTable的可绑定数据的自定义视图。DataView提供基础DataTable中数据的动态视图
创建DataView对象:
创建DataView的方法有两种:可以使用DataView构造函数。也可以创建对DataTable的DefaultView属性的引用.
例如:
DataView dv=new DataView(table);
DataView dv=table.DefaultView;

由于在创建DataView时以及在修改任何Sort,RowFilter或RowStateFilter属性都会生成DataView的索引,所以当创建DataView时,通过以构造函数的形式提供任何初始排序顺序或筛选条件,可以实现最佳性能。如果在不指定排序或筛选条件的情况下创建DataView,然后设置Sort,RowFilter或RowStateFilter属性,这会使索引至少生成两次:一次是在创建DataView时,另一次是在修改任何排序或者筛选条件时。
DataView的一个主要功能是允许在Window窗体和Web窗体上进行数据绑定。
若要创建数据筛选和排序视图,可以设置RowFilter和Sort属性,然后使用Item属性返回单个DataRowView还可以使用AddNew和Delete方法从行的集合中进行添加和删除。在使用这些方法时,可设置RowStateFilter属性以便指定只有已被删除的行或新行才可由DataView显示。
注意:
DataView dv=new DataView(ds.Tables["student"]);

也可以写成:DataView dv=ds.Tables["student"].DefaultView;

看看下面的例子:

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BindToGridView("null");
}

}
private void BindToGridView(string rowfilter)
{

string connStr = "server=huangxiang-pc;uid=sa;database=myhx;";
SqlConnection conn = new SqlConnection(connStr);
string sqlstring = "select * from userInfo";
SqlDataAdapter sda = new SqlDataAdapter(sqlstring, conn);
System.Data.DataSet ds = new System.Data.DataSet();
sda.Fill(ds, "userInfor");
System.Data.DataView dv = new System.Data.DataView(ds.Tables["userInfor"]);
//DataView dv = new DataView(ds.Tables["userInfor"]);
switch (rowfilter)
{
case "null":
break;
case "男":
dv.RowFilter = "userSex='男'";
break;
case "女":
dv.RowFilter = "userSex='女'";
break;
}
GridView1.DataSource = dv;
GridView1.DataBind();
}
protected void Button2_Click(object sender, EventArgs e)
{
BindToGridView("男");
}
protected void Button3_Click(object sender, EventArgs e)
{
BindToGridView("女");
}
protected void Button1_Click(object sender, EventArgs e)
{
BindToGridView("null");
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DataView的用法 的相关文章

  • 如何计算 Postgres 上图表中所有连接的节点(行)?

    我的桌子有account id and device id One account id可以有多个device ids 反之亦然 我正在尝试计算每个连接的多对多关系的深度 Ex account id device id 1 10 1 11
  • SQLite (Android):使用 ORDER BY 更新查询

    Android SQLite 我想要在 myTable 中的其他行之间插入行在android中使用SQLite 为此 我尝试增加从第 3 行开始的所有行的 id 这样 我就可以在位置 3 处插入新行 myTable 的主键是列 id 表中没
  • Spring Data JPA 选择不同

    我有一个情况 我需要建立一个select distinct a address from Person a 其中地址是 Person 内的地址实体 类型的查询 我正在使用规范动态构建我的 where 子句并使用findAll Specifi
  • 如何连续添加起始行和下一行的值

    我只想创建一个 sql 查询 结果就像图片上的那样 类似于 SQL 中的斐波那契数列 Ex Column 1 10 则 Result 列的值为 Result 10 因为这是第一行 然后假设column1第二行的值为50 那么Result第二
  • hive sql查找最新记录

    该表是 create table test id string name string age string modified string 像这样的数据 id name age modifed 1 a 10 2011 11 11 11 1
  • 分组和切换列和行

    我不知道这是否会被正式称为枢轴 但我想要的结果是这样的 Alex Charley Liza 213 345 1 23 111 5 42 52 2 323 5 23 1 324 5 我的输入数据采用这种形式 Apt Name
  • 需要 SQL 查询澄清[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个由以下列组成的表 billid patientid doctorid fees 如何显示治疗多名患者的医生 尝试了以下代码并得到了
  • 包含列和行总计的 SQL 数据透视表

    我正在尝试将行和列总计添加到该数据透视表中 create table test4 city nvarchar 10 race nvarchar 30 sex nvarchar 10 age int insert into test4 val
  • 将两个表合并为一个输出

    假设我有两张表 已知营业时间 ChargeNum CategoryID Month Hours 111111 1 2 1 09 10 111111 1 3 1 09 30 111111 1 4 1 09 50 222222 1 3 1 09
  • 获取在任何日期创建的表的列表?

    我遇到了这样的情况 我想查找我在 2012 年 9 月 14 日 2012 年 9 月 14 日 在 sql server 上创建的表 是否有任何查询会列出在此日期创建的这些表 SELECT FROM sys tables WHERE cr
  • SQL Server:为什么 ISO-8601 格式的日期依赖于语言?

    我需要一些帮助来理解 SQL Server 中的日期格式处理 如果您尝试以下操作 它将返回正确的结果 SET LANGUAGE English SELECT CAST 2013 08 15 AS DATETIME 2013 08 15 00
  • SQL 使用另一列的键和最大值设置列

    我需要根据同一 ID 的 duration 列的最大值更新 max register 列 将值设置为 1 其他值设置为 0 初始表 Id duration max register 1 0 0 1 7 0 1 3 0 2 10 0 2 5
  • postgresql 不同的不工作

    我使用以下代码从数据库获取值 但是当我编写这段代码时 测试看看问题出在哪里 我注意到查询没有从数据库中获取不同的值 这是查询 select distinct ca id as id acc name as accName pIsu name
  • 通过 C# SqlCommand 执行合并语句不起作用

    我正在第一次尝试使用临时表和MERGE语句通过更新 SQL 表SqlCommandC 中的对象 我正在开发的程序旨在首先将大量记录 最多 20k 导出到 Excel 电子表格中 然后 用户可以搜索并替换特定值 并根据需要更新任意多记录中的任
  • 支持 >65k 行的 Excel VBA SQL 驱动程序

    在 Excel 2010 中通过 VBA 查询 Excel 数据时 我遇到一个有趣的问题 我正在使用这些驱动程序连接到 xls 或 xls x m 文件 Sub OpenCon ByRef theConn As Connection ByV
  • SQL Server 查询中 UNION ALL 与 OR 条件

    我必须根据表上不存在的条件选择一些行 如果我使用如下的 union all 它会在不到 1 秒的时间内执行 SELECT 1 FROM dummyTable WHERE NOT EXISTS SELECT 1 FROM TABLE t WH
  • 无法与重定向器建立连接。确保“sql browser”服务正在运行

    所以我尝试这个 sql server 2012 由于这个错误我无法打开任何 ssis 包 无法与重定向器建立连接 确保 sql browser 服务正在运行 我的 Sql 浏览器肯定正在运行 我尝试在本地服务 本地系统和网络下更改它 仍然没
  • SQL Server 中离线索引重建和在线索引重建有什么区别?

    重建索引时 有一个选项ONLINE OFF and ONLINE ON 我知道当ONLINE模式打开时 它会复制索引 切换新查询以利用它 然后重建原始索引 使用版本控制跟踪两者的更改 如果我错了 请纠正我 但是 SQL 在离线模式下会做什么
  • 查看Jasper报告执行的SQL

    运行 Jasper 报表 其中 SQL 嵌入到报表文件 jrxml 中 时 是否可以看到执行的 SQL 理想情况下 我还想查看替换每个 P 占位符的值 Cheers Don JasperReports 使用 Jakarta Commons
  • 需要在 SQL Server 中透视字符串值

    我有一个包含值的表 描述为 Occupation String Name String Developer A Developer B Designer X Coder Y Coder Z 我需要数据透视格式的值 Designer Deve

随机推荐

  • 3个字节的空txt文本文件

    运行下面代码可以建立一个3个字节的空txt文本文件 想了解其原因的请参考文本文件的编码方式和unicode的具体资料 google上就有很多 System IO FileStream fs new System IO FileStream
  • matlab实现数值积分 【一】(trapz函数)

    目录 总述 函数调用格式 应用举例 例1 梯形法求积分 例2 不同步长对积分结果的影响 总述 数值积分问题是传统数值分析课程中的重要内容 如果被积函数的数学表达式未知 则需要由实测数据通过梯形算法求出积分的近似值 本文将介绍被积函数的数学表
  • 门面设计模式

    github GitHub QiuliangLee pattern 设计模式 1 什么是门面设计模式 门面设计模式是一种软件设计模式 也被称为外观 Facade 模式 它提供了一个简单的接口 让客户端能够访问复杂系统中的一组接口 通过门面模
  • 打包部署也这么内卷--springboot项目的打包及一键服务器部署

    一 环境准备 1 cenos7服务器一台 2 更换yum源 yum install y wget mv etc yum repos d CentOS Base repo etc yum repos d CentOS Base repo ba
  • C++常见编译WARNING小结

    首先要说的是大家不要对Warning视而不见 有时候通过Warning确实可以找到一些隐患 其次 未来新增代码应不允许Warning出现 有Warning需要修改掉 以下是常见的Warning小结 常见十大Warning 1 warning
  • 对象序列化(2):objectMapper.readValue详解

    1 反序列化方式 1 简单的直接Bean class 2 复杂的用 TypeReference 2 反序列化方法 首先说明 readValue 针对String 一共有3个重载 如下 public
  • 【UE4】4.26安卓打包流程

    前言 本教程适用于UE4 26 文章最后部分有常见问题解决与性能优化 教程开始 1 下载 Android Studio最新版 默认安装 请先关闭UE相关程序 2 打开Android Studio if启动时提示access SDK错误 点C
  • FPGA实现Cordic算法——向量模式

    FPGA实现Cordic算法 向量模式 FPGA实现Cordic算法 向量模式 1 cordic算法基本原理 2 FPGA实现cordic算法向量模式 i FPGA串行实现cordic ii FPGA流水线实现cordic iii 实验结果
  • 音视频是怎样实现传输的

    音视频传输时的基本步骤 1 发起会话 Sip协议 2 编码 硬件编码 软件编码 3 传输 RTP 4 解码 硬件解码 软件解码 5结束会话 Sip协议 视频格式 视频数据格式可以发展分为一个适合本地播放的本地影像视频和适合在网络中播放的网络
  • 洞悉MySQL底层架构:游走在缓冲与磁盘之间

    觉得写的很好 特转载便记录 提起MySQL 其实网上已经有一大把教程了 为什么我还要写这篇文章呢 大概是因为网上很多网站都是比较零散 而且描述不够直观 不能系统对MySQL相关知识有一个系统的学习 导致不能形成知识体系 为此我撰写了这篇文章
  • SQLyog中如何导入mysql数据库

    SQLyog是一种mysql的图形界面软件 有时需要把外部的mysql数据库导入到SQLyog里面去 下面是详细的操作步骤 1 打开SQLyog软件 输入密码 点击连接 打开软件界面 如下图所示 2 创建一个与要导入数据库相同名字的数据库
  • Maven项目报错:Plugin ‘maven-project-info-reports-plugin‘ not found

    一 报错原因 在创建项目的时候 没有加入依赖 二 解决办法 导入相关的依赖即可 可在pom xml中加入下面的依赖代码
  • 蓝桥杯 马虎的算式

    标题 马虎的算式 小明是个急性子 上小学的时候经常把老师写在黑板上的题目抄错了 有一次 老师出的题目是 36 x 495 他却给抄成了 396 x 45 但结果却很戏剧性 他的答案竟然是对的 因为 36 495 396 45 17820 类
  • 【React】 20课 解决reactn内的redux异步执行函数报错方法

    redux内异步函数执行如图所示 本项目的目录结构如下 redux内实现异步方法首先我们需要安装redux thunk cnpm install redux thunk save 在创建数据仓库的过程我们通过compose方法与applyM
  • 【OpenCV学习笔记】【函数学习】八(序列数据结构)

    序列是内存存储器中可以存储的一种对象 序列是某种结构的链表 OpenCV中 序列可以存储多种不同的结构 你可以将序列想象为许多编程语言中都存在的容器类或容器类模版 如C 中的vector 学列在内存被实现为一个双端队列 deque 因此序列
  • 修复mysql语句_怎样修复已经损坏的SQL数据库?

    展开全部 有两种方法 一种方法使用mysql的check table和repair table 的sql语句 另一种方法是使用MySQL提供的多个myisamchk isamchk数据检测恢复62616964757a686964616fe7
  • u-view使用轮播组件u-swiper不能正常显示

    问题 写了半天一直显示的是播放视频 但是我的路径是图片 一直黑屏 解决方法 Swiper 轮播图 uView 2 0 全面兼容nvue的uni app生态框架 uni app UI框架 设置type类型
  • java分页工具集合

    java分页工具集合 说明 一 PageHelper 1 pom 2 配置 3 使用 正确使用 错误使用 二 mybatis plus的分页插件 1 pom 2 配置 3 使用 三 自定义工具类 1 创建分页工具类 2 使用 说明 更新时间
  • 写一个查找表和数组的算法

    写一个查找表和数组的算法 查找有无一般使用set数据结构 查找对应关系使用Map映射数据结构 给定两个数组nums1 1 2 2 1 num2 2 2 求两个数组的公共元素 结果为 2 将一个集合中的元素存入set集合中 然后从另一个集合中
  • DataView的用法

    转载 http www 360doc com content 14 0422 15 19147 371133095 shtml DataView就是表示用于排序 筛选 搜索 编辑个导航的DataTable的可绑定数据的自定义视图 DataV