注意:我尝试使用concat()方法,连接方法甚至尝试过 只插入文本(结果是可编辑的),但它们都不起作用 我想了。我在想是否子串方法可行,但我只有 子串如何工作的基本思路。我想要字母“N” 在表单加载时以及用户输入时插入到文本框中 4digits(OrderNo2.text)应该连接起来以便保存 当我点击保存按钮时,我在一起。
请帮帮我们。感谢
Private Sub btnAddOrder_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btnAddOrder.Click
isNewRow = True
Dim newRow As DataRow = dsOrders.Tables("Orders").NewRow
Try
If txtOrderNo2.Text.Length = 5 Then
newRow.Item("OrderNo") = txtOrderNo2.Text
If cbo_Product.SelectedIndex <> -1 Then
newRow.Item("Product") = cbo_Product.Text
newRow.Item("Price") = txtPrice2.Text
If txtQuantity.Text <> "" Then
newRow.Item("Quantity") = txtQuantity.Text
newRow.Item("CustomerNo") = txtCustomerNo2.Text
dsOrders.Tables("Orders").Rows.Add(newRow)
'determine row index of new row
rowIndex = dsOrders.Tables("Orders").Rows.Count - 1
'save changes back to the database
daOrders.Update(dsOrders, "Orders")
Else
MessageBox.Show("Please enter the quantity", "Missing Quantity", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
Else
MessageBox.Show("Please choose the product", "Missing Price", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
Else
MessageBox.Show("Order Number must be 5 digits long!", "Missing Order Number", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
答案 0 :(得分:1)
尝试仅允许文本框中的数字,最大长度为4。 然后,如果用户点击提交按钮,只需获取输入的值并放置其前面的N. 长度总是4 +你的角色(“N”)是5。
这样你应该能够解决它。
您也可以尝试使用正则表达式。查看它是否包含N和0-9之间的数字。 只有当它以字符N开头后跟4个数字字符时才会是有效输入。
这将是你的正则表达式。
^(N 2 [0-9] {4})$
希望这对您有用
答案 1 :(得分:1)
使用MaskedTextBox
代替常规TextBox
。然后,您可以将Mask
属性设置为"N0000"
,这样只允许用户在'N'
后输入4位数字,并且不允许用户编辑'N'
。 Text
属性将为您显示所显示的文本,包括'N'
。