dataGridView1_DataError

andylauxing 2010-10-27 03:34:53
有一表格,运行时,单元格类型录入错误时,当移到下一个单元格时出错了一个错误提示.
请问如何处理dataGridView1 的 DataError中的默认错误提示窗口,


private void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
{

MessageBox.Show("数据录入错误,请重新输入!");
}
以上代码无效,出现的还是默认错误提示窗口,请问应如何解决?thks.
...全文
226 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
逗逗乐家居 2011-08-08
  • 打赏
  • 举报
回复
楼上的你说是什么意思?能不能详细点儿?
andylauxing 2010-10-28
  • 打赏
  • 举报
回复
找到原因了,原来还要在属性窗口(事件)DataError设置一下,代码才会绑定进去。
wuyq11 2010-10-27
  • 打赏
  • 举报
回复
private void DataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs anError)
{
if (anError.Context == DataGridViewDataErrorContexts.Commit)
{
MessageBox.Show("");
}
if (anError.Context == DataGridViewDataErrorContexts.CurrentCellChange)
{
MessageBox.Show("");
}
if (anError.Context == DataGridViewDataErrorContexts.Parsing)
{
MessageBox.Show("");
}
if (anError.Context == DataGridViewDataErrorContexts.LeaveControl)
{
MessageBox.Show("");
}

if ((anError.Exception) is ConstraintException)
{
DataGridView view = (DataGridView)sender;
view.Rows[anError.RowIndex].ErrorText = "";
view.Rows[anError.RowIndex].Cells[anError.ColumnIndex].ErrorText = "";

anError.ThrowException = false;
}
}

private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
double d= 0.0;
dataGridView1.Rows[e.RowIndex].ErrorText = string.Empty;
if(dataGridView1.Columns[e.ColumnIndex].DataPropertyName == "")
{
if(!double.TryParse(e.FormattedValue.ToString(),out d) )
{
dataGridView1.Rows[e.RowIndex].ErrorText = "输入有误!";
e.Cancel = true;
}
}
}
andylauxing 2010-10-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhang523012313 的回复:]
private void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
{

MessageBox.Show("数据录入错误,请重新输入!");
}
这个肯定是有效的,你肯定是这个事件没有写才导致这个代码无效,你在看下dataGridView1事件里有没有这个事件噶
[/Quote]

请问如何看?
我在.Cs下是有写这个事件的.
ajq1989 2010-10-27
  • 打赏
  • 举报
回复
datagridviw字段类型 与 数据库类型要相同
zhang523012313 2010-10-27
  • 打赏
  • 举报
回复
private void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
{

MessageBox.Show("数据录入错误,请重新输入!");
}
这个肯定是有效的,你肯定是这个事件没有写才导致这个代码无效,你在看下dataGridView1事件里有没有这个事件噶

111,129

社区成员

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

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

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