DataView的用法

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;


一:取出筛选的符合条件记录的条数 
DataView mydv = new DataView();
mydv = DataSet1.Tables[0].DefaultView;
mydv.RowFilter = "分数>=50";
int count = mydv.Count;
//上面的代码取出DataSet1中符合条件"分数>=50"的记录的条数。
二:显示符合条件的记录表
DataView mydv = new DataView();
mydv = DataSet1.Tables[0].DefaultView;
mydv.RowFilter = "分数>=50";
GridView1.DataSource = mydv;
GridView1.DataBind();
//上面的代码取出DataSet1中符合条件"分数>=50"的记录并在gridview1中显示出来。
三:直接使用符合条件记录的值 
常见的错误写法:
DataView mydv = new DataView();
mydv = DataSet1.Tables[0].DefaultView;
mydv.RowFilter = "学号=50";
Label1.Text= mydv.Table.Rows[0]["分数"].ToString();
//mydv.Table里面表的值是原始表的值,并不是条件筛选后的表的值。 
一种正确的写法:
DataView mydv = new DataView();
mydv = DataSet1.Tables[0].DefaultView;
mydv.RowFilter = "学号=50";
Label1.Text= mydv.ToTable("table1").Rows[0]["分数"].ToString();
//通过把mydv转换成表,再从表中取记录就是经过条件筛选的记录了。




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值