验证DataGridView控件的数据输入

 在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时,可以输入,否则不能输入.还可以对数据输入进行更复杂的验证,比如价格数据的输入等.

原文地址:https://www.cnblogs.com/leischen/p/2303102.html