Как вставить букву «N» и следуют 4 цифры.4 цифры вводятся пользователем в текстовое поле - PullRequest
0 голосов
/ 08 ноября 2011

ПРИМЕЧАНИЕ. Я пытался использовать метод concat (), метод join и даже пытался вставить только текст (который оказался редактируемым), но ни один из них не работал так, как я хотел.Я думал, будет ли работать метод подстроки, но у меня есть только базовое представление о том, как работает подстрока.Я хочу, чтобы буква «N» вставлялась в текстовое поле при загрузке формы и при вводе пользователем 4 цифр (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

Ответы [ 2 ]

1 голос
/ 08 ноября 2011

Используется MaskedTextBox вместо обычного TextBox.Затем можно установить для свойства Mask значение "N0000", что позволит пользователю вводить только 4 цифры после 'N' и не позволит пользователю редактировать 'N'.Свойство Text выдаст вам отображаемый текст, включая 'N'.

1 голос
/ 08 ноября 2011

Попробуйте просто разрешить только цифры в текстовом поле с максимальной длиной 4. Затем, если пользователь нажимает кнопку отправки, просто получите значение ввода и поместите N напротив него. У вас всегда будет длина 4 + ваш персонаж ("N") равен 5.

Таким образом, вы сможете это исправить.

Вы также можете попробовать использовать регулярные выражения. чтобы увидеть, содержит ли он N и цифры от 0 до 9. только если он начинается с символа N, за которым следуют 4 цифровых символа, это будет допустимый ввод.

Тогда это будет ваше регулярное выражение.

^ (N & alpha; [0-9] {4}) $

Надеюсь, это может быть вам полезно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...