C# DateGridView单元格输入验证方法

心得体会 2018-02-21 浏览:504

目的用于限制VS原生DataGridView控件单元格输入验证,有如下两种办法:

方法一:

定义全局变量bflag:

private bool bflag =false;

然后,在PreviewKeyDown事件中添加如下代码:

if (Grid.CurrentCell.ColumnIndex == 1)             
{                  
  if (((e.KeyValue <= 48 && e.KeyValue <57) || 
  (e.KeyValue >= 96 && e.KeyValue < 105) 
  && e.Shift == false)) 
  {
     bflag=false;
  }
  else                                      
  {
     bflag=true;
  }
  else                              
  {
     bflag=false;
  }
}

最后,在CellBeginEdit事件中添加如下代码:

if (bflag)             
{                 
  e.Cancel = true;             
}             
else             
{                 
  e.Cancel = false;             
} 

方法二:

在GridView的CellValidating事件中,加入以下代码:

if (!System.Text.RegularExpressions.
Regex.IsMatch(e.FormattedValue.ToString(), @"^[0-9]*$"))             
{                                
  e.Cancel = true;             
}             
else             
{                 
  e.Cancel = false;             
} 

PS:这些都是以前写的文章,我重新搬过来手写了一遍,另外,第二种则更为简单直接,并且,用到了正则表达式。


本文由 Manager 创作,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论