在Windows 窗体编程时,经常会用到DataGridView控件,该控件可以进行数据输入,输入完毕后,有时需要把数据存入数据库中.数据输入格式有误的话,提交时可能会出现异常,并不会把数据存入数据库.用DataGridView控件的KeyPress事件进行输入验证,发现不起作用.这时可以用另一种方法进行数据验证.

    假设要求只能输入数值,长度为10.

    先添加DataGridView控件的EditControlShowing事件.

    我们验证数据输入,是对单元格中的文本框进行验证.先定义一个文本框对象.

     TextBox control;
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
cotrol = new TextBox();
cotrol = (TextBox)e.Control;
cotrol.KeyPress+=new KeyPressEventHandler(cotrol_KeyPress);
}

 

        该事件是当编辑单元格控件时发生,在事件中有一个控件对象,用该对象来初始化control对象.并添加文本框的KeyPress事件,即键盘输入验证事件.在 KeyPress事件中可以对验证的条件进行编辑.

    private void cotrol_KeyPress(object sender, KeyPressEventArgs e) 
{
if (char.IsNumber(e.KeyChar) && cotrol.Text.Length < 10)
{
e.Handled = false;
}
else
{
e.Handled = true;
}
}

        按照要求,是数字并长度小于10时,可以输入,否则不能输入.还可以对数据输入进行更复杂的验证,比如价格数据的输入等.

       

    

posted on 2008-08-23 20:35  王和平  阅读(2511)  评论(6编辑  收藏  举报