DataView的用法

转载: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");
}

DataView的用法_第1张图片

你可能感兴趣的:(DataView的用法)