zoukankan      html  css  js  c++  java
  • C# DataGridView的單元格中只能輸入數字

    控件類型:DataGridView

    控件名稱:dgvGift_Condition

    裏面用到的:IsNumeric、NotePastText、RestoreText 等請參見 前一日志“TextBox中只能輸入數字”。

    下面例子中 dgvGift_Condition中 第2列和第4列 只能輸入數字

            private DataGridViewTextBoxEditingControl EditingControl = new DataGridViewTextBoxEditingControl();

            private void dgvGift_Condition_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
            {
                if (this.dgvGift_Condition.CurrentCell.ColumnIndex == 1 || this.dgvGift_Condition.CurrentCell.ColumnIndex == 3)
                {
                    EditingControl = (DataGridViewTextBoxEditingControl)(e.Control);
                    EditingControl.KeyPress += new KeyPressEventHandler(EditingControl_KeyPress);
                    EditingControl.TextChanged += new EventHandler(EditingControl_TextChanged);
                }
            }

            void EditingControl_TextChanged(object sender, EventArgs e)
            {
                if (this.IsNumeric(this.EditingControl.Text, true, false))
                {
                    this.NotePastText(this.EditingControl, ref PastText);
                }
                else
                {
                    this.RestoreText(this.EditingControl, PastText);
                }
            }

            void EditingControl_KeyPress(object sender, KeyPressEventArgs e)
            {
                this.CheckKeyIn(e, false);
            }

     

            private void dgvGift_Condition_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e)
            {
                if (e.ColumnIndex == 1 || e.ColumnIndex == 3)
                {
                    TextBox tb = new TextBox();
                    if (this.dgvGift_Condition.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == null)
                    {
                        tb.Text = "";
                    }
                    else
                    {
                        tb.Text = this.dgvGift_Condition.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
                    }
                    this.NotePastText(tb, ref PastText);
                }
            }

     

            private void dgvGift_Condition_CellEndEdit(object sender, DataGridViewCellEventArgs e)
            {
                EditingControl.KeyPress -= EditingControl_KeyPress;
                EditingControl.TextChanged -= EditingControl_TextChanged;
            }

  • 相关阅读:
    bzoj4010 [HNOI2015]菜肴制作
    PHP--------TP中的ajax请求
    二维数组去重
    手机号138-0013-8000格式存储
    spring4-2-bean配置-1-依赖注入
    spring4-1-Spring的简单介绍
    Result Grouping / Field Collapsing-结果分组
    vim自动补全
    vim配置-程序员【转】
    服务端程序设计和实现总结 【转】
  • 原文地址:https://www.cnblogs.com/Veky/p/3256023.html
Copyright © 2011-2022 走看看