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的用法 的相关文章

  • sql查询将两列与一列连接起来

    我在 MS Access 2010 中有 2 个表 如下所示 USERS u id u name LOAN l id l from ref users u id l to ref users u id l amount Users u id
  • 如何在 sqlalchemy 中创建基于文字的查询?

    我创建了一个函数来创建表达式 def test operator1 operation operator2 return literal column operator1 op operation operator2 现在当我用 test
  • 使用Powershell访问远程Oracle数据库

    我需要能够连接到我的网络上基于 Windows 7 的 Oracle 服务器 32 位 Oracle XE 我需要连接的机器运行 Windows 7 64 位 两台机器上都安装了 Powershell 我已在 64 位计算机上安装了 Ora
  • java mysql 准备好的语句

    我正在尝试使用 java 向数据库中进行简单的插入 它告诉我我的 sql 语法已关闭 但是 当我复制打印出来的字符串并将其放入 phpmyadmin 中的 sql 命令中时 它会正确执行该命令 并且我似乎无法弄清楚 java 中的字符串查询
  • 如何使用 MySQL 的 LOAD DATA LOCAL INFILE 在导入 CSV 时将字符串日期更改为 MySQL 日期格式

    我正在使用 MySQL 的 LOAD DATA LOCAL INFILE SQL 语句将数据从 CSV 文件加载到现有数据库表中 下面是一个 SQL 语句示例 LOAD DATA LOCAL INFILE file csv INTO TAB
  • 查找 PostgreSQL 中所有范围集合的所有交集

    我正在寻找一种有效的方法来查找时间戳范围集之间的所有交集 它需要与 PostgreSQL 9 2 配合使用 假设这些范围代表一个人可以见面的时间 每个人都可以有一个或多个空闲时间范围 我想找到all可以召开会议的时间段 即所有人都有空的时间
  • Mysql 检索所有有限制的行

    我想检索特定用户的所有行 限制为 0 x 所以我只是想问是否有任何方法可以检索 mysql 中的所有行 而不调用返回 x 的 count id 的方法 而不重载现有函数 该函数在查询中根本没有限制 与我们的 string Relace 功能
  • 将 UUID 存储为 base64 字符串

    我一直在尝试使用 UUID 作为数据库键 我希望占用尽可能少的字节数 同时仍然保持 UUID 表示形式的可读性 我认为我已经使用 base64 将其减少到 22 个字节 并删除了一些尾随的 这些 对于我的目的来说似乎没有必要存储 这种方法有
  • sql server 按组排名

    问题看似简单 但我却无法理解 这是针对 sql 服务器的 what I have in a table What I need as a output cksum id cksum id 2162514679 204 2162514679
  • 是否有适用于所有数据库的标准sql

    如下所示 不同数据库的语法有所不同 是否存在适用于所有数据库的标准方法 有没有什么工具可以将任意sql转换为任意sql SQL Server 2005 CREATE TABLE Table01 Field01 int primary key
  • 在 SQL 数据库中存储“列表”的最正确方法是什么?

    因此 我读了很多关于如何将多个值存储到一个列中是一个坏主意 并且违反了数据标准化的第一条规则 令人惊讶的是 这不是 不要谈论数据标准化 所以我需要一些帮助 目前我正在为我工 作的地方设计一个 ASP NET 网页 我想根据此人所属的 Act
  • 用更轻的解决方案替换完整的 ORM(JPA/Hibernate):推荐的加载/保存模式?

    我正在开发一个新的 Java Web 应用程序 并且正在探索保存数据的新方法 对我来说是新方法 我主要有 JPA 和 Hibernate 的经验 但是 除了简单的情况之外 我认为这种完整的 ORM 可能会变得相当复杂 另外 我不太喜欢和他们
  • 单独的逗号分隔值并存储在sql server的表中

    我有一个存储过程 它将逗号分隔的值作为输入 我需要将其分开并需要将其作为单独的行存储在表中 令 SP 的输入为 Rule ID ListType ID Values 1 2 319 400 521 8465 2013 我需要将它存储在一个名
  • 如何将表中不存在但原始SQL中存在的实体字段设置为别名?

    假设我们有一个这样的查询 SELECT CUSTOM EXPRESSION as virtualfield FROM users 用户的实体本身具有 虚拟字段 但映射注释没有 因为表没有该字段 假设它作为原始 SQL 执行 我们如何使用上面
  • 月份增量查询

    我想通过添加 1 个月来更新数据库中的月份 但我不知道如何在以下存储过程查询中添加月份 我不擅长 sql 请检查它 ALTER PROCEDURE dbo ChangePassword password varchar 20 epasswo
  • 如何使用sql作为xml路径('')但保留回车符

    我有下面的代码 select select cast Narrative as Varchar max char 13 from officeclientledger where ptmatter matter and ptTrans 4
  • 执行带有 EXCEPTION 的 PostgreSQL 查询会导致两条不同的错误消息

    我有一个 PostgreSQL 查询 其中包含事务和列重复时的异常 BEGIN ALTER TABLE public cars ADD COLUMN top speed text EXCEPTION WHEN duplicate colum
  • SQL - != 'NULL' 的解释

    我的SSMS代码如下 Select top 50 From FilteredContact Where statuscode 1 and emailaddress1 NULL and telephone1 NULL and address1
  • SQL Server 上的语法错误

    这可能是一个愚蠢的语法错误 但我只是继续阅读我的程序 但我无法弄清楚我的错误在哪里 消息 156 第 15 级 状态 1 第 41 行关键字附近的语法不正确 为了 这是我的代码 alter procedure LockReservation
  • 索引数量越少意味着插入、更新和删除速度更快? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi

随机推荐

  • 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