winform下dataGridView中限制某列只能输入数字
2008-03-24 09:45
471 查看
方法一
定义一个方法
private void TextBoxDec_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar != 8 && !Char.IsDigit(e.KeyChar) && e.KeyChar != '.')
{
e.Handled = true;
}
}
然后在dataGridView的EditingControlShowing事件中
private void dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (this.dgvFenl.CurrentCell.ColumnIndex == 列索引)
{
e.Control.KeyPress += new KeyPressEventHandler(TextBox_KeyPress);
}
}
方法二
在dataGridView的CellValidating事件中
private void dgvTix_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
dgvTix.Rows[e.RowIndex].ErrorText = "";
if (e.ColumnIndex == 3)
{
int newInteger = 0;
if (!int.TryParse(e.FormattedValue.ToString(), out newInteger) || newInteger < 0)
{
e.Cancel = true;
dgvTix.Rows[e.RowIndex].ErrorText = "题数格式错误,请重新输入。";
MessageBox.Show("题数格式错误,请重新输入。");
return;
}
}
else if (e.ColumnIndex == 4)
{
float newFloat = 0.00f;
if (!float.TryParse(e.FormattedValue.ToString(), out newFloat) || newFloat < 0.00)
{
e.Cancel = true;
dgvTix.Rows[e.RowIndex].ErrorText = "分数格式错误,请重新输入";
MessageBox.Show("分数格式错误,请重新输入。");
return;
}
}
}
定义一个方法
private void TextBoxDec_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar != 8 && !Char.IsDigit(e.KeyChar) && e.KeyChar != '.')
{
e.Handled = true;
}
}
然后在dataGridView的EditingControlShowing事件中
private void dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (this.dgvFenl.CurrentCell.ColumnIndex == 列索引)
{
e.Control.KeyPress += new KeyPressEventHandler(TextBox_KeyPress);
}
}
方法二
在dataGridView的CellValidating事件中
private void dgvTix_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
dgvTix.Rows[e.RowIndex].ErrorText = "";
if (e.ColumnIndex == 3)
{
int newInteger = 0;
if (!int.TryParse(e.FormattedValue.ToString(), out newInteger) || newInteger < 0)
{
e.Cancel = true;
dgvTix.Rows[e.RowIndex].ErrorText = "题数格式错误,请重新输入。";
MessageBox.Show("题数格式错误,请重新输入。");
return;
}
}
else if (e.ColumnIndex == 4)
{
float newFloat = 0.00f;
if (!float.TryParse(e.FormattedValue.ToString(), out newFloat) || newFloat < 0.00)
{
e.Cancel = true;
dgvTix.Rows[e.RowIndex].ErrorText = "分数格式错误,请重新输入";
MessageBox.Show("分数格式错误,请重新输入。");
return;
}
}
}
相关文章推荐
- C# Winform 中验证DataGridView单元格内容--限制单元格中只能输入数字
- datagridview 限制某列只能输入数字
- dataGridView中限制某列/单元格只能输入数字
- C# winform中文本框限制只能输入数字和字母,退格键
- C#Winform限制Textbox只能输入数字
- WinForm 限制TextBox只能输入数字和小数点
- C#Winform限制Textbox只能输入数字
- C#winform中如何限制txtbox输入只能是数字和特定字母X
- WINFORM限制textbox只能输入数字[转]
- WinForm 中限制只能输入数字
- C#Winform限制Textbox只能输入数字
- datagridview 限制某列只能输入数字
- C#Winform限制Textbox只能输入数字
- 正则表达式限制文本框只能输入数字
- 用JS限制文本框只能输入数字时的正则表达式问题!
- js正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码
- 输入框(input):限制输入框内只能输入数字
- 限制只能输入数字的实现代码
- 用正则表达式限制 输入必须为数字或字母,长度只能为4~6位
- 用正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码