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