DataView

 

DataView 概述

创建DataView对象

DataView对象中数据的访问

DataViewRowFilter属性 

DataViewSort属性设置它里边的数据排序

DataViewCount属性 

DataView充当绑定控件的数据集

DataView中查询数据

修改DataView对象中的数据

DataView对象的几个其他属性

DataView 概述

DataView对象可以用来筛选、排序、查询、修改(添加、修改、删除)DataTable对象中的数据。

在使用DataView对象时的注意事项:

不能用DataView在两个DataTable对象之间联接(join)数据,只能查看一个DataTable中的列 

不能用DataView查看DataTable中的部分列,只能查看所有列,只可以对行进行筛选。

创建DataView对象

使用无参数的构造函数:

DataView dv1 = new DataView( );

dv1.Table = table;

使用有参数的构造函数:

DataView dv2 = new DataView(table);

DataViewTable属性

创建DataView对象

使用无参数的构造函数:

DataView dv1 = new DataView( );

dv1.Table = table;

使用有参数的构造函数:

DataView dv2 = new DataView(table);

DataViewTable属性

DataViewRowFilter属性:

RowFilter属性的应用:从DataTable对象中获取符合该属性指定条件的数据作为DataView对象的数据,若不设置该项,则获取DataTable对象中的所有数据作为DataView对象中的数据。

RowFilter中的查询语句与前面介绍过的DataTable对象的SELECT()方法的语法一致。例如:

dv2.RowFilter = "name='张三'"; 

dv2.RowFilter = "name like '%"+textbox1.text+"%'“

dv2.RowFilter = "price>100"

dv2.RowFilter = "price>"+textBox1.text+""

DataViewSort属性设置它里边的数据排序

DataView对象中的数据按照指定的字段值的升序或降序。

例:  dv1.Sort = "name asc";

DataViewCount属性 

返回在DataView中可见的记录行数,是只读的。

Label1.Text = "DataView对象中的数据行数是:" + dv1.Count;

DataView充当数据绑定控件的数据源

DataView view = MakeView();

GridView1.DataSource = view;

this.DataBind();

DataView中查询数据

1. Find方法:

根据Sort属性中所指定的列的值来查找。

只返回找到的第一行。

如果找到数据则返回该行在DataView对象中的索引如果找不到则返回-1

int index = view.Find(TextBox1 .Text .Trim ()); 

DataView中查询数据

2.  FindRows方法

根据Sort属性中所指定的列的值来查找。

返回找到的满足条件的所有行。

返回找到的满足条件的行的DataRowView对象的数组,即DataView对象中所有满足条件的数据行的数组。

DataRowView [] rows = view.FindRows(TextBox2.Text.Trim());

修改DataView对象中的数据

1.  DataView中添加一行新数据

DataView对象的AddNew方法,返回一个DataRowView对象。

直到调用DataRowView对象的EndEdit方法时,才真正的将新数据写到底层的DataTable对象中。

DataRowView new_row = view.AddNew();

new_row["name"] = TextBox3.Text;

new_row.EndEdit(); 

修改DataView对象中的数据

2.修改一行数据

DataRowView对象调用BeginEdit()方法开始

修改DataRowView对象的某个字段的值

DataRowView对象调用EndEdit()方法结束,将新数据写到DataTable对象中。 

修改DataView对象中的数据

2.修改一行数据  例如:

DataRowView [] rows = view.FindRows(TextBox4 .Text );

               if (rows .Length  ==0)

               Label8.Text = "找不到记录";

               else

              {   

                 rows[0].BeginEdit();

                 rows[0]["name"] = "Hallen";

                 rows[0].EndEdit();

                 this.GridView1.DataSource = view;

                 this.GridView1.DataBind();

    }

修改DataView对象中的数据

3. 删除一行数据

删除DataView对象中的某行数据,调用该行的delete()方法

view.Sort = "id ASC";

int i = view.Find(TextBox5.Text);

view[i].Delete(); 

DataView对象的几个其他属性: 

AllowNew:是否允许用户通过视图添加数据 

AllowUpdate:是否允许用户通过视图更新数据 

AllowDelete:是否允许用户通过视图删除数据 

若该属性值设置为false则不允许同过视图对DataTable修改数据。

如:// view.AllowDelete = false ; 

        则view[i].Delete()命令执行出错。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值