全球旧事资料 分类
中读取模式在本例中是Products表根据列的类型推断应显示什么控件与以前的DataGrid控件不同DataGridView控件还可以显示图像列按钮和组合框在修改了DataGrid中的字段时数据库中的数据不会改变因为此时数据仅存储在本地计算机上没有与数据库的活动连接后面将讨论更新数据源中的数据3显示DataView中的数据
fDataView提供了一种过滤和排序DataTable中数据的一种方式在从数据库中选择数据时用户一般可以单击列标题对数据排序此外还可以只过滤要显示在某些行中的数据例如用户修改过的所有数据DataView允许过滤要显示给用户的数据行但不允许过滤DataTable中的数据列提示DataView不允许过滤要显示的数据列只允许过滤要显示的数据行根据现有的DataTable创建DataView的代码如下所示
DataViewdv
ewDataViewdataTable
创建好后就可以改变DataView上的设置当该视图显示在DataGrid中时这些设置会影响要显示的数据以及对这些数据进行的操作例如●设置AllowEditfalse表示在数据行上禁用所有列的编辑功能●设置AllowNewfalse表示禁用新行功能●设置AllowDeletefalse表示禁用删除行的功能●设置RowStateFilter只显示指定状态的行●设置RowFilter可过滤数据行下一节将介绍如何使用RowStateFilter设置其他选项都很容易理解1通过数据过滤数据行创建好DataView后就可以通过设置RowFilter属性来改变视图显示的数据这个属性是一个字符串可用作按照给定条件过滤数据的一种方式该字符串的值就是过滤条件其语法类似于一般SQL中的WHERE子句但主要是对已经从数据库中选择出来的数据进行操作过滤子句的一些示例如表321所示表321
子句说明U
itsI
Stock50Clie
tSmithCou
tyLIKEC返回Cou
ty字段以C开头的所有记录例如返回Cor
wallCumbriaCheshire和Cambridgeshire所在的行可以使用表示匹配一个字符的通配符而表示匹配0个或多个字符的通配符只返回给定客户的记录只显示U
itsI
Stock列大于50的行
运行库尽可能在过滤表达式中使用与源列相匹配的数据类型例如在前面的示例中使用U
itsI
Stock50表达式就是合法的尽管该列是一个整数列但如果提供了一个无效的过滤字符串就会产生EvaluateExceptio
异常
f2根据状态过滤数据行DataView中的每一行都有一个定义好的行状态它们的值如表322所示这些状态也可以用于过滤用户查看的行表322
DataViewRowStateAddedCurre
tRowsDeletedModifiedCurre
tModifiedOrigi
alOrigi
alRows说明列出新创建的所有行列出除了被删除的行以外的其他行列出最初被选中且r
好听全球资料 返回顶部