智者樂山山如畫, 仁者樂水水無涯。 從從容容一盃酒, 平平淡淡一盞茶。 細雨朦朧小石橋, 春風盪漾小竹筏。 夜無明月花獨舞, 腹有詩書气自華。 吾生有崖,也知無崖,以有崖逐無崖,殆也

DataGirdView 编辑项时的验证

dgvConfig.DataSource = CreateTable();
            dgvConfig.Columns["编号"].ReadOnly = true; //只读
            dgvConfig.AllowUserToAddRows = false;  //不允许添加新行
            dgvConfig.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(dgvConfig_EditingControlShowing);

  

 void dgvConfig_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
        {
            DataGridViewTextBoxEditingControl cotrol = (DataGridViewTextBoxEditingControl)e.Control;
            cotrol.KeyPress += new KeyPressEventHandler(Edit_Value);
            cotrol.MaxLength = 5;
        }

  

//DataGridView 编辑项输入
        protected void Edit_Value(object sender, KeyPressEventArgs e)
        {
            DataGridViewTextBoxEditingControl control = (DataGridViewTextBoxEditingControl)sender;

            if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;//消除不合适字符  
            }
            else if (Char.IsPunctuation(e.KeyChar))
            {
                if (e.KeyChar != '.' || control.Text.Length == 0)//小数点  
                {
                    e.Handled = true;
                }
                if (control.Text.LastIndexOf('.') != -1)
                {
                    e.Handled = true;
                }
            }
        }

  

#region  输入

        //允许输入小数
        public static void TextBox_Double_KeyPress(object sender, KeyPressEventArgs e)
        {
            TextBox tb = (TextBox)sender;
            if (tb == null)
            {
                e.Handled = true;//消除不合适字符
                return;
            }
            if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;//消除不合适字符  
            }
            else if (Char.IsPunctuation(e.KeyChar))
            {
                if (e.KeyChar != '.' || tb.Text.Length == 0)//小数点  
                {
                    e.Handled = true;
                }
                if (tb.Text.LastIndexOf('.') != -1)
                {
                    e.Handled = true;
                }
            }
        }

        //只能输入整数
        public static void Number_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar != '\b')//这是允许输入退格键
            {
                if ((e.KeyChar < '0') || (e.KeyChar > '9'))//这是允许输入0-9数字
                {
                    e.Handled = true;
                }
            }
        }

        //DataGridView 编辑项输入
        public static void DataGridView_Edit_Value(object sender, KeyPressEventArgs e)
        {
            DataGridViewTextBoxEditingControl control = (DataGridViewTextBoxEditingControl)sender;

            if (!Char.IsNumber(e.KeyChar) && !Char.IsPunctuation(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;//消除不合适字符  
            }
            else if (Char.IsPunctuation(e.KeyChar))
            {
                if (e.KeyChar != '.' || control.Text.Length == 0)//小数点  
                {
                    e.Handled = true;
                }
                if (control.Text.LastIndexOf('.') != -1)
                {
                    e.Handled = true;
                }
            }
        }

        #endregion

 

posted @ 2013-10-04 17:35  後生哥哥  阅读(162)  评论(0编辑  收藏  举报
智者樂山山如畫, 仁者樂水水無涯。 從從容容一盃酒, 平平淡淡一盞茶。 細雨朦朧小石橋, 春風盪漾小竹筏。 夜無明月花獨舞, 腹有詩書气自華。 吾生有崖,也知無崖,以有崖逐無崖,殆也