如何从VB中的文本框格式化电话号码到datagridview

时间:2015-07-02 04:53:31

标签: vb.net datagridview

我有一个程序,表单中有3个项目。电话号码文本框,数据网格视图和按钮。我希望能够单击按钮并将数字从电话号码文本框传输到datagridview,而不是像databridview中显示的数字:1234567891。我希望电话号码的格式显示如下(123)123 - 1234.我在互联网上搜索了几个小时,但我无法找到一个很好的方法来做到这一点。

1 个答案:

答案 0 :(得分:0)

听起来您希望DataGridView 存储数字为未格式化但显示格式化。我不确定你是否可以这样做,但好消息是,你不需要。为什么不简单地存储您想要的无格式数字,然后使用单独的变量传递DataGridView格式化的数字?

Dim UnformattedNumber As String = TextBox1.Text
Dim FormattedNumber As String = FormatNumber(UnformattedNumber)

Public Function FormatNumber(ByVal PhoneNumber As String) As String
    If Not String.IsNullOrWhiteSpace(PhoneNumber) _
    AndAlso len(PhoneNumber) = 10 _
    AndAlso IsNumeric(PhoneNumber) Then
        FormatNumber = "(" & Left(PhoneNumber, 3) & ") " _
        & Mid(PhoneNumber, 4, 3) & " - " _
        & Right(PhoneNumber, 4)
    Else
        FormatNumber = ""
    End If
End Function

如果需要,您仍然可以从DataGridView事件中引用UnformattedNumber

请注意,如果您将此功能放在表单中,则需要使用Left作为RightMicrosoft.VisualBasic.Strings.的序言。