标签:
DataView:可以说是一个视图,是在程序里的一个视图,它是数据源的一个视图,当我们成功拥有这个视图之后,可以利用各种筛选从视图中查询到有用的数据,反馈给用户
要想了解一个东西得看的源头喽,下面看微软的官方解释
三个构造函数:
DataView() 初始化 DataView 类的新实例。
DataView(DataTable) 使用指定的 DataView 初始化 DataTable 类的新实例。
DataView(DataTable,?String,?String,?DataViewRowState)
使用指定的 DataTable、RowFilter、Sort 和 DataViewRowState 初始化 DataView 类的新实例。
<span style="color:#ff0000;">RowStateFilter</span>RowStateFilter:对视图的筛选控制,主要是对数据源的一些操作筛选
Sort:视图筛选器,主要是一些关于数据条件的限制
下面说一些关于RowStateFilter的使用
生成一个数据源
DataTable dataTable = new DataTable("dataTable"); DataColumn 地方 = new DataColumn ("地方"); //先生成一个列 dataTable.Columns.Add(地方); //加载列到dt中 DataRow dataRow; for(int i=0;i<10;i++) //循环加载行到dt中 { dataRow = dataTable.NewRow(); dataRow["地方"] = new string[] {" 1", "2", "3", "4", "5"}; dataTable.Rows.Add(dataRow); }
提交数据源后,在对数据源进行修改 dataTable.AcceptChanges(); //必须有这行代码,否则一下的<span style="font-family: Arial, Helvetica, sans-serif;">RowStateFilter将不起作用。</span> //create a DataView with the table DataView dv = new DataView(dataTable); //change one row's value dataTable.Rows[1]["地方"] = "Hello"; //Add one row dataRow = dataTable.NewRow(); dataRow["地方"] = "Word"; dataTable.Rows.Add(dataRow); dv.RowStateFilter = DataViewRowState.Added | DataViewRowState.ModifiedCurrent; dataTable.Rows[1].Delete(); dataTable.Rows[2].Delete(); dataTable.Rows[3].Delete();
RowStateFilter的使用 <span style="color:#ff0000;"> dataTable.Rows[4]["地方"] = "jjjjj"; //设置dataview显示的过滤条件,下面的条件是只显更改行与新行、已修改行、当前行 //dv.RowStateFilter = DataViewRowState.CurrentRows; //this.GridView1 .DataSource = dv ; //this.GridView1 .DataBind(); //设置dataview显示的过滤条件,未更改的行 //dv.RowStateFilter = DataViewRowState.Unchanged; // this.GridView1 .DataSource = dv ; // this.GridView1 .DataBind(); // //设置dataview显示的过滤条件,未更改行,已删除行 dv.RowStateFilter = DataViewRowState.Deleted; this.GridView1.DataSource = dv; this.GridView1.DataBind();</span>
Sort的使用:使用该条件时要注意数据类型。
DataView dv = new DataView( DataTable); c = "Convert(pID,'System.String') like '%'"; //筛选器,这块和数据库SQL条件语句极为相似,同出一家。 dv.RowFilter = c; // <span style="font-family: Arial, Helvetica, sans-serif;">Convert(pID,'System.String') 把pID列转换为string类型</span> dv.Sort = "pID desc"; //对pID列进行排序 this.GridView1.DataSource = dv; this.GridView1.DataBind();
总结:一直以来以为DataView是一个控件,原来是一个对象。其中这个对象还有很多的属性和方法需要去学习。总之,遇到了就得去用。就学习了。有其他观点和要分享的,积极探讨啊。
标签:
原文地址:http://blog.csdn.net/wgp15732622312/article/details/51333513