我在我的Windows程序中使用了datagridview。在第1列中,用户将输入大写字母和数字。在其他一些列(第3列和第4列)中,用户只能输入整数(不允许小数)。我正在编写以下代码,将输入的值转换为第1列的大写字母:在CellEndEdit事件中
string strUpper = "";
switch (e.ColumnIndex)
{
case 1:
strUpper = dgView.CurrentCell.Value.ToString() ;
dgView.CurrentCell.Value = strUpper.ToUpper();
break;
}
当焦点移动到下一个单元格时,输入的值将转换为大写。但我想知道还有其他事件/代码可以做同样的事情吗?以及如何不允许用户在单元格3和4中输入小数。请帮助。
答案 0 :(得分:0)
您可以使用CellValidating
这样的DataGridView
事件:
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) {
// insert additional checks to fit your constraints
if (dataGridView1.CurrentCell.IsInEditMode) {
int value;
if (!int.TryParse(e.FormattedValue.ToString(), out value)) {
MessageBox.Show("Must be integer!");
e.Cancel = true;
}
}
}