DataView 概述
创建DataView对象
DataView对象中数据的访问
DataView的RowFilter属性
DataView的Sort属性设置它里边的数据排序
DataView的Count属性
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);
DataView的Table属性
创建DataView对象
使用无参数的构造函数:
DataView dv1 = new DataView( );
dv1.Table = table;
使用有参数的构造函数:
DataView dv2 = new DataView(table);
DataView的Table属性
DataView的RowFilter属性:
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+""
DataView的Sort属性设置它里边的数据排序
将DataView对象中的数据按照指定的字段值的升序或降序。
例: dv1.Sort = "name asc";
DataView的Count属性
返回在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()命令执行出错。