永发信息网

怎么控制datagridview里的单元格输入格式只能输入手机号

答案:2  悬赏:70  手机版
解决时间 2021-02-13 19:42
  • 提问者网友:情歌越听越心酸
  • 2021-02-13 02:48
怎么控制datagridview里的单元格输入格式只能输入手机号
最佳答案
  • 五星知识达人网友:鱼忧
  • 2021-02-13 03:04
正则表达式可以,
还有一种方法,就是判断:在datagridview的.keypress事件中判断是否是数字键(手机号一般是11位),不是数字键就禁掉

例如:(这是vb2005的代码,不知道你用的是哪个,但程序代码意思基本相同,只是书写方式不一样,亲,相信你能懂)
Public EditCell As DataGridViewTextBoxEditingControl

Private Sub DataGridView1_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridView1.EditingControlShowing
EditCell = CType(e.Control, DataGridViewTextBoxEditingControl)
EditCell.SelectAll()
AddHandler EditCell.KeyPress, AddressOf Cells_KeyPress
End Sub

Private Sub Cells_KeyPress(ByVal sender As System.Object, ByVal e As KeyPressEventArgs)
If e.KeyChar <> Chr(8) And e.KeyChar <> Chr(13) And (e.KeyChar < Chr(48) Or e.KeyChar > Chr(57)) Then
Beep()
Beep()
e.KeyChar = Chr(0)
End If
End Sub
如果是C#,我这里给你一个:DataGridView中的单元格中只能输入数字的一种解决方法 :就是给DataGirdView添加CellParsing方法
private void dataGridView5_CellParsing(object sender, DataGridViewCellParsingEventArgs e)
{
DataGridView dgv = (DataGridView)sender;
System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex(@"^[-]?\d+[.]?\d*$");
if (!reg1.IsMatch(e.Value.ToString()))
{
MessageBox.Show("对不起!必须是数字,请重新输入!");
e.Value = "0.00";
e.ParsingApplied = true;
}
}

你可以试试,祝你成功!
全部回答
  • 1楼网友:封刀令
  • 2021-02-13 04:18
private void dgvdetail_cellvalidating(object sender, datagridviewcellvalidatingeventargs e) { uint digitcell = 0; // 这里需要无符号数字 dgvdetail.rows[e.rowindex].errortext = string.empty; // 先把错误提示清空 if (dgvdetail.columns[e.columnindex].datapropertyname == "") {// 如果本列为用户手工编辑列 if (e.columnindex == dgvdetail.columns[cglobal.t_col_inv_amount].index) {// 指定特定列 if (!uint.tryparse(e.formattedvalue.tostring(), out digitcell)) {// 如果不是uint dgvdetail.rows[e.rowindex].errortext = "数量输入有误!"; e.cancel = true; // 不能通过验证 } } } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯