2024年3月31日发(作者:)
DataView数据视图类
表示用于排序、筛选、搜索、编辑和导航的 DataTable 的可绑定数据的自定义视图。
DataView的功能类似于数据库的视图,他是数据源DataTable的封装对象,可以对数据源进行排序、搜索、
过滤等处理功能,一旦DataView绑定了数据源DataTable的话,如果此时,DataTable中的数据内容发
生变化后,那么DataView也随之发生变化。
注意:
如果不显式指定 DataView 的排序条件,将按 DataView 的相应 DataRow 在
taRowCollection 中的索引来对 DataView 中的
DataRowView 对象进行排序。
应用实例01:
///
/// teFilter
/// 根据RowStateFilter的行的状态作为过滤条件,进行筛选过滤
///
private void DataViewTest02()
{
//如果将 RowStateFilter 设置为 ModifiedCurrent 或 CurrentRows,新行也将是可见的。
//如果将 RowStateFilter 设置为 ModifiedOriginal 和 OriginalRows,已删除的行也将是
可见的。
DataTable dataTable = new DataTable("dataTable");
DataColumn dataColumn = new DataColumn("dataColumn");
(dataColumn);
DataRow dataRow;
for (int i = 0; i < 10; i++)
{
dataRow = ();
dataRow["dataColumn"] = "item " + i;
(dataRow);
}
Changes();
// Create a DataView with the table.
DataView dataView = new DataView(dataTable);
// Change one row's value:
[1]["dataColumn"] = "Hello";
// Add one row:
dataRow = ();
dataRow["dataColumn"] = "World";
(dataRow);
//设置dataview显示的过滤条件,下面的条件是只显示添加或者修改的内容
teFilter = |
edCurrent;
[1].Delete();
[2].Delete();
[3].Delete();
//设置dataview显示的过滤条件,下面的条件是只显示被删除的内容
teFilter = d;
urce = dataView;
nd();
//设置dataview显示的过滤条件,下面的条件是只显更改行与新行、已修改行、当前行
teFilter = tRows;
urce = dataView;
nd();
//设置dataview显示的过滤条件,未更改的行
teFilter = ged;
urce = dataView;
nd();
//设置dataview显示的过滤条件,未更改行,已删除行
teFilter = alRows;
urce = dataView;
nd();
}
应用实例02:
///
/// ter 按查询条件,将DataView中的内容检索出来
/// ("排序列对应列中的任意值") 返回结果是检索出的行索引号
/// DataRowView[] foundRows = ws(new object[] { "1", "山东" }); 按排序定义
的列顺序,查找符合条件的行集合
/// 需要与排序列定义的数目与顺序一致。
///
private void DataViewRowFilter()
{
DataTable dt = new DataTable();
("cityName");


发布评论