c# 怎么样在AddingNew事件中停止数据新增

来源:百度知道 编辑:UC知道 时间:2024/05/17 21:08:11
在同一个界面中有很多个触发新增情况,所以在AddingNew事件中写判断,当不满足条件时不允许新增!可总是挡不住呢!

不能用抛出错误的方法,因为做了错误处理!
我是用BindingSource来连接DataSet控制的!
AddingNew事件中赋值AllowNew也没用!

BindingSource.AddingNew(object sender, AddingNewEventArgs e)事件没有e.Cancel

.NET是非常结构化的,设计优良。把仅包含在窗体中的最简单的数据操作分成三个层次,以保证程序伸缩性:界面控件层、数据控制层(BindingSource)、基础数据层。
你说的属于数据校验,所以,应该在界面控件提交给BindingSource之前:所有的控件都提供了Validating事件吧?
比如,DataGridView的RowValidating中:
if (((DataRowView)bindingSource2.Current).Row.RowState == DataRowState.Detached && 条件不满足)
{
e.Cancel = true;
MessageBox.Show("Input error!");
}
TextBox等也有Validating,不多写了。

e.Cancel = true;

在AddingNew事件中调用
BindingSource.CancelEdit()