zoukankan      html  css  js  c++  java
  • DataGridView 设置某个列为只能为数字

    public DataGridViewTextBoxEditingControl CellEdit = null;

    int idx = 1;
    private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {
    if (this.dataGridView1.CurrentCellAddress.X == idx)
    {
    CellEdit = (DataGridViewTextBoxEditingControl)e.Control;
    CellEdit.SelectAll();
    CellEdit.KeyPress += Cells_KeyPress; //绑定事件
    }
    }

    private void Cells_KeyPress(object sender, KeyPressEventArgs e) //自定义事件
    {
    if (this.dataGridView1.CurrentCellAddress.X == idx)
    {
    if (e.KeyChar == 46)
    {
    e.Handled = false;
    return;
    }
    if (!(e.KeyChar >= '0' && e.KeyChar <= '9')) e.Handled = true;
    if (e.KeyChar == '') e.Handled = false;
    }
    }

    private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
    {

    if (dataGridView1.Rows[e.RowIndex].IsNewRow) return;
    decimal dci;
    if (e.ColumnIndex == idx)
    {
    if (e.FormattedValue != null && e.FormattedValue.ToString().Length > 0)
    {
    if (!decimal.TryParse(e.FormattedValue.ToString(), out dci) || dci < 0)
    {
    e.Cancel = true;
    MessageBox.Show("请输入数字或小数", "提示",
    MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    }
    }
    }

  • 相关阅读:
    只出现一次的数字
    SpringBoot整合Redis
    MFC 0误差画图
    模仿.NET的序列化机制
    求最大子数组
    让CFrameWnd派生类的对象响应鼠标消息的“变态”方法
    关于chm文件和'#'的惊人发现
    CxImage学习笔记
    C++指针系列
    MFC,C++ 截屏
  • 原文地址:https://www.cnblogs.com/gisoracle/p/5948101.html
Copyright © 2011-2022 走看看