1

我有一个 RadGridView,我想防止用户在第五列中写入除“c”或“d”之外的任何字符、数字或字母。我已经尝试了下面的代码,但它没有工作......

private void radGridView1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (radGridView1.CurrentColumn.Index == 4)
    {
        if (e.KeyChar != 'c' || e.KeyChar != 'd' )
             e.Handled = true;
    }
}
4

1 回答 1

4

使用下面的代码片段,如果你想做更多的事情,比如提醒用户,或者添加一个验证错误,这取决于你:

     private void radGridView1_CellValidating(object sender, CellValidatingEventArgs e)
     {
        String[] Acceptable = new string[] {"c", "d"};

        if (e.Value != null && e.ColumnIndex == 4)
        {
            if(e.Value != e.OldValue)
            {
                if (!Acceptable.Contains(e.Value))
                {
                    e.Cancel = true;
                }
            }
        }
    }
于 2012-11-25T07:09:46.143 回答