datagridview 控制某个单元格只可以输入数字。

2024-11-27 19:32:44
推荐回答(3个)
回答1:

private void dgvDetail_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
uint digitCell = 0; // 这里需要无符号数字
dgvDetail.Rows[e.RowIndex].ErrorText = string.Empty; // 先把错误提示清空
if (dgvDetail.Columns[e.ColumnIndex].DataPropertyName == "")
{// 如果本列为用户手工编辑列
if (e.ColumnIndex == dgvDetail.Columns[CGlobal.T_COL_INV_AMOUNT].Index)
{// 指定特定列
if (!uint.TryParse(e.FormattedValue.ToString(), out digitCell))
{// 如果不是uint
dgvDetail.Rows[e.RowIndex].ErrorText = "数量输入有误!";
e.Cancel = true; // 不能通过验证
}
}
}
}

回答2:

这个是不行的!datagridview这个控件是很强大的,强大到你用这个控件很简单,什么都有!但是他的局限性也很大,不灵活,很多特殊点的功能会没有!就像你说的控制某个单元格只可以输入数字,这是不行的,datagridview 这个控件已经被固定了,是无法更改的!如果你想要实现控制某个单元格只可以输入数字可以用Repeater控件来实现,这个控件可以做到和datagridview这个控件一样的效果,也更灵活!

回答3:

下面这个看看能不能帮到你。