【ASP.NET随笔】DataRow和DataRowView

【ASP.NET随笔】DataRow和DataRowView

可以将DataView同数据库的视图类比,不过有点不同,数据库的视图可以跨表建立视图,DataView则只能对某一个DataTable建立视图。

DataView一般通过DataTable.DefaultView 属性来建立,或者再通过RowFilter 属性和RowStateFilter 属性建立这个DataTable的一个子集。
DataGrid实际显示的是DataTable经过筛选的DataView

DataRow是对应于DataTable的; (实际存在的) 单对多
DataRowView是对应于DataView的; (虚拟的) 单对多

DataRowView.Row返回对应的当前行
通过设置DataView的RowStateFilter 属性将确定公开 DataRow 的哪一个个版本。

以下代码示例显示一个表中的所有当前值和原始值
DataView catView =new DataView(catDS.Tables["Categories"]);
Console.WriteLine("Current Values:");
WriteView(catView);
Console.WriteLine("Original Values:");
catView.RowStateFilter = DataViewRowState.ModifiedOriginal;
WriteView(catView);

publicstaticvoid WriteView(DataView thisDataView)
{
foreach (DataRowView rowView in thisDataView)
{
for (int i =0; i < thisDataView.Table.Columns.Count; i++)
Console.Write(rowView[i] +"\t");
Console.WriteLine();
}
}
posted @ 2015-12-03 19:45  印象钟情  阅读(483)  评论(0编辑  收藏  举报