datagridview 限制某列只能输入数字

37 篇文章 1 订阅
1 篇文章 0 订阅

datagridview 限制某列只能输入数字, 但不能输入小数

public DataGridViewTextBoxEditingControl CellEdit = null;

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
    if (this.dataGridView1.CurrentCellAddress.X == 4)
    {
        CellEdit = (DataGridViewTextBoxEditingControl)e.Control;
        CellEdit.SelectAll();
        CellEdit.KeyPress += Cells_KeyPress; //绑定事件
    }
}
private void Cells_KeyPress(object sender, KeyPressEventArgs e) //自定义事件
{
    if ((this.dataGridView1.CurrentCellAddress.X == 4) || (this.dataGridView1.CurrentCellAddress.X == 5) || (this.dataGridView1.CurrentCellAddress.X == 6))

    {

       //只能输入整数, 无法输入小数

        if (!(e.KeyChar >= '0' && e.KeyChar <= '9')) e.Handled = true;
        if (e.KeyChar == '\b') e.Handled = false;
    }

}


datagridview 限制某列只能输入数字,还能输入小数
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
    if (dataGridView1.Rows[e.RowIndex].IsNewRow) return;
    decimal dci;
    if (e.ColumnIndex == 4)
    {
        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);
            }
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值