【发布时间】:2020-11-02 19:19:12
【问题描述】:
我正在研究 Datagridview,并且我有多个列。有些列必须接受唯一的数值,有些只接受字符串,有些列接受特定格式,如 0000-0000-0000。我使用了以下代码:
private void adgUser_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (adgUser.CurrentCell.ColumnIndex == 0)
{
e.Control.KeyPress -= AllowLettersOnly;
e.Control.KeyPress += AllowLettersOnly;
}
if (adgUser.CurrentCell.ColumnIndex == 1)
{
e.Control.KeyPress -= AllowLettersOnly;
e.Control.KeyPress += AllowLettersOnly;
}
if (adgUser.CurrentCell.ColumnIndex == 2)
{
e.Control.KeyPress -= AllowNumbersOnly;
e.Control.KeyPress += AllowNumbersOnly;
}
}
private void AllowNumbersOnly(Object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
e.Handled = true;
}
private void AllowLettersOnly(Object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsLetter(e.KeyChar) && !char.IsWhiteSpace(e.KeyChar))
e.Handled = true;
}
现在,此代码无法正常工作。我通过 datagridview 将数据插入到数据库表中,并确保列在插入数据时只接受有效格式。请指教
【问题讨论】:
标签: c# validation datatable datagridview insertion