bindingSource结束编辑问题

xxccy 2009-01-06 05:29:39
背景:
单张表多个字段,分别绑定到多个textBox
当输入的内容不合法时(如在int字段输入了字母,或者超过长度等),第一次点保存会报错
但是再点一次保存,就不再报错,而且不会保存到当前textBox里的内容。
(要达到的目的就是,每次点保存,都判断当前textBox的内容是否符合条件,不符合则报错
但不要清除整个记录)
贴保存的代码如下:

private void bindingSourceNavigator1_SaveRecord(object sender, EventArgs e)
{
if (this.textBoxSupply_No.Text.Trim()=="")
{
MessageBox.Show("请输入供应商编号", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
try
{
this.bindingSourceNavigator1.BindingSource.EndEdit();
this.mita_p_GetSupplyByUserTableAdapter.Update(this.basicDataSet.mita_p_GetSupplyByUser);
this.bindingSourceNavigator1.DisabledAllControls(this.Controls);
this.bindingSourceNavigator1.SetButtonForSave();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "保存失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
...全文
157 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnwin 2011-06-23
  • 打赏
  • 举报
回复
这不是问题吧,只要datatable不使用RejectChange就不会把你的TextBox给清空了。我就是这样做的
xxccy 2010-03-30
  • 打赏
  • 举报
回复
就是不想对每个控件去写验证,而且可能会有数据库中字段长度更改的情况发生,所以希望做到,保存的时候根据sql返回的异常来判断是否符合要求.
xiaobo 2009-03-31
  • 打赏
  • 举报
回复
使用验证控件验证输入的值!
xxccy 2009-01-17
  • 打赏
  • 举报
回复
有没人帮忙?
xxccy 2009-01-17
  • 打赏
  • 举报
回复
我的意思就是不要全部给取消了
比如录入了一堆数据,只有某一个字段违反maxlength规则
我不能把这次的输入全取消
而是报错不允许保存
长沙三毛 2009-01-06
  • 打赏
  • 举报
回复
DataRowView curRow = bs_Data.Current as DataRowView;
curRow.EndEdit(); // 提交编辑
curRow.CancelEdit(); // 取消编辑

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧