更新:2007 年 11 月
本示例演示“数据集设计器”,并使用 PropertyChanged 事件验证用户输入。
获取示例及其安装说明
执行下列一项或多项操作:
在“帮助”菜单上,单击“示例”。
自述文件将显示有关示例的信息。
访问 Visual Studio 2008 示例网站。该网站提供了最新版本的示例。
在安装了 Visual Studio 的计算机上查找示例。默认情况下,示例和自述文件安装在驱动器号:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid 中。对于 Visual Studio 的速成版,所有示例都可联机找到。
有关更多信息,请参见定位示例文件。
![]() |
---|
此示例代码用于阐释概念,因此仅显示与此概念相关的代码。该代码可能不符合特定环境的安全要求,因此不应原样搬用所显示的代码。我们建议您添加安全性代码和错误处理代码,以使项目更加安全可靠。Microsoft“按原样”提供此示例代码,不提供任何保证。 |
运行此示例
- 按 F5。
要求
此示例需要 Northwind 示例数据库。有关更多信息,请参见如何:安装用于示例的数据库组件并进行疑难解答。
演示
该示例演示 Visual Studio 设计器中的数据验证功能。两个任意虚构的规则用于验证数据。使用“数据集设计器”添加代码。双击列名创建列更改事件。双击字段列表创建行更改事件。在那些事件处理程序中,添加了代码以验证建议值:
Private Sub EmployeeDataTable_BirthDateChanging( _
ByVal sender As EmployeeDataTable, _
ByVal e As BirthDateChangeEventArg) Handles Me.BirthDateChanging
Dim minimumAgeDate As New DateTime(DateTime.Now().Year - 18, _
DateTime.Now().Month, DateTime.Now().Day)
If e.ProposedValue > minimumAgeDate Then
e.Row.SetColumnError(e.BirthDateColumn, _
"Employees must be at least 18 years of age.")
Else
e.Row.SetColumnError(e.BirthDateColumn, "")
End If
End Sub
Private Sub EmployeesDataTable_EmployeesRowChanging( _
ByVal sender As System.Object, ByVal e As _
EmployeesRowChangeEvent) Handles Me.EmployeesRowChanging
If (e.Row.BirthDate = e.Row.HireDate) Then
e.Row.RowError = e.Row.RowError & _
"Birth date and hire date are the same."
Else
e.Row.ClearErrors()
End If
End Sub
定义行和列错误时,DataGridView 控件会显示警告图标。对于行错误,图标显示在行的左侧。对于列错误,图标显示在单元格中。