单元格验证
//控制单元格只能输入三个字符(单元格无控件)
//调用gridView_ValidatingEditor 事件
//设置校验列
if (gridView.FocusedColumn.FieldName == "Name")
{
if (e.Value.ToString().Length > 3)
{
//设置提示信息
e.ErrorText = "该单元格只能输入三位!";
e.Valid = false;
return;
}
}
//控制单元格只能输入三个字符(单元格有控件)
//调用验证列控件的 Validating 事件
//sender就是控件 转化为你TextEdit控件
DevExpress.XtraEditors.TextEdit control = (DevExpress.XtraEditors.TextEdit)sender;
//获取控件的输入值 并验证
if (control.Text.ToString().Length > 3)
{
//校验不通过
e.Cancel = true;
return;
}
//调用 gridView_InvalidValueException事件
e.ExceptionMode = ExceptionMode.DisplayError;
e.WindowCaption = "输入错误";
e.ErrorText = "该单元格只能输入三位!";
gridView1.HideEditor();
// 弊端:1、只要未通过单元格验证 当前窗体除了最大化最小化按钮其他都不能点击!
2、焦点离开单元格时才会触发该事件
//控制单元格只能输入指定字符
调用验证列控件KeyPress事件
if (e.KeyChar != '#')
{
e.Handled = true;
}
PS://单元格只输入正整数方法
bool result = false;
Regex regex = new Regex(@"^\+?\d+$");
result = regex.IsMatch(textEdit.EditValue.ToString());
if (!result)
{
e.Cancel = true; //校验不通过
return;
}