2. 向数据集添加验证: 双击数据集设计器的数据列切换到代码
引用:http://msdn2.microsoft.com/zh-cn/library/ms171930(VS.80).aspx
添加代码来验证 e.ProposedValue 包含大于 0 的值。如果建议值小于或等于 0,则设置列来指示其包含错误。(双击表名(标题栏中的“Order Details”)会创建 RowChanging 事件的事件处理程序。)
将下面的代码粘贴到“Add user code here”(此处添加用户代码)注释下的列更改事件处理程序中:
// C#
// Add the following code
// to the partial class.
public override void EndInit()
{
base.EndInit();
Order_DetailsRowChanging += TestRowChangeEvent;
}
public void TestRowChangeEvent(object sender, Order_DetailsRowChangeEvent e)
{
if ((short)e.Row.Quantity <= 0)
{
e.Row.SetColumnError("Quantity", "Quantity must be greater than 0");
}
else
{
e.Row.SetColumnError("Quantity", "");
}
}
然后再在界面添加ErrorProvider 控件获取错误提示: DataSource=要验证的数据源, ContainerControl = 窗体容器对象;
我双击数据列时,并没有自动生成事件代码,先学习下,以后再试试是否这样做有效?
找到答案:“数据集设计器”并不自动为此 C# 事件创建事件处理程序
// Add the following code
// to the partial class.
public override void EndInit()
{
base.EndInit();
Order_DetailsRowChanging += TestRowChangeEvent;
}
public void TestRowChangeEvent(object sender, Order_DetailsRowChangeEvent e)
{
if ((short)e.Row.Quantity <= 0)
{
e.Row.SetColumnError("Quantity", "Quantity must be greater than 0");
}
else
{
e.Row.SetColumnError("Quantity", "");
}
}
然后再在界面添加ErrorProvider 控件获取错误提示: DataSource=要验证的数据源, ContainerControl = 窗体容器对象;
我双击数据列时,并没有自动生成事件代码,先学习下,以后再试试是否这样做有效?
找到答案:“数据集设计器”并不自动为此 C# 事件创建事件处理程序