Datagridview单元格验证

时间:2012-04-21 21:16:05

标签: c#

我有一个包含3列和19行的datagridview。前两列是只读的。最后一列的值已经设置为0.用户必须输入最后一个中的整数值,我需要验证它是否为integer.if not display message“Enter Integer”。我遇到了cellleave事件,我认为它可能是正确的用于执行检查,但我不知道如何自动调用该事件。

总结

- datagridview第3列中的值已设置为零。

- 用户在第3栏输入值。

- 如果值不是整数显示消息“请输入整数”

我是c#的初学者,非常感谢您对此事的任何帮助。

1 个答案:

答案 0 :(得分:0)

 private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
        {
            DataGridViewTextBoxCell cell = dataGridView1[e.ColumnIndex, e.RowIndex] as DataGridViewTextBoxCell;

            if (cell != null)
            {
                char[] chars = e.FormattedValue.ToString().ToCharArray();
                foreach (char c in chars)
                {
                    if (char.IsDigit(c) == false)
                    {
                        MessageBox.Show("You have to enter digits only");

                        e.Cancel = true;
                        break;
                    }
                }
            }
        }
  

http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/6fc564f9-e154-4be1-8d2c-9988a81e2be7