您的位置:首页 > 其它

ADO.NET——DataView

2016-05-06 18:59 531 查看
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 tableDataView dv = new DataView(dataTable);//change one row's valuedataTable.Rows[1]["地方"] = "Hello";//Add one rowdataRow = 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是一个控件,原来是一个对象。其中这个对象还有很多的属性和方法需要去学习。总之,遇到了就得去用。就学习了。有其他观点和要分享的,积极探讨啊。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: