【发布时间】:2015-05-25 07:47:39
【问题描述】:
我有一个带有模板列的网格视图,并且在 ItemTemplate 中我有与 sqldatasource 绑定的文本框,我想让第 3 行中的这个文本框只输入数字,而在其他行上正常输入任何东西?
【问题讨论】:
-
尝试在代码后面使用函数
RowDataBound执行此操作,并在行索引为 3 时应用验证规则。
标签: c# asp.net gridview webforms textbox
我有一个带有模板列的网格视图,并且在 ItemTemplate 中我有与 sqldatasource 绑定的文本框,我想让第 3 行中的这个文本框只输入数字,而在其他行上正常输入任何东西?
【问题讨论】:
RowDataBound 执行此操作,并在行索引为 3 时应用验证规则。
标签: c# asp.net gridview webforms textbox
在KeyPress事件中,检查如果key不是数字则取消输入。
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
e.Control.KeyPress -= new KeyPressEventHandler(Column1_KeyPress);
if (dataGridView1.CurrentCell.ColumnIndex == 0) //Desired Column
{
TextBox tb = e.Control as TextBox;
if (tb != null)
{
tb.KeyPress += new KeyPressEventHandler(Column1_KeyPress);
}
}
}
private void Column1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
}
代码库特西-Make a specific column only accept numeric value in datagridview in Keypress event
【讨论】: