Текстовое поле не обновляется - PullRequest
0 голосов
/ 20 апреля 2020
 Dim VoucherOpenConnection As New OleDbConnection
    ' VoucherOpenConnection = New OleDbConnection
    VoucherOpenConnection.ConnectionString = "My Connection String"

 Dim VoucherString As String = "My Query"

        Dim DAVoucherString As New OleDbDataAdapter(VoucherString, VoucherOpenConnection)
        Dim DTVoucherString As New DataTable

        DAVoucherString.Fill(DTVoucherString)

        If DTVoucherString.Rows.Count <> 0 Then
            cmbCategory.Text = DTVoucherString.Rows(0).Item(8).ToString
            txtDetails.Text = DTVoucherString.Rows(0).Item(2).ToString
            txtshop.Text = DTVoucherString.Rows(0).Item(3).ToString
            txtAmount.Text = DTVoucherString.Rows(0).Item(4).ToString
            txtRemarks.Text = DTVoucherString.Rows(0).Item(5).ToString
            txtInvoiceNum.Text = DTVoucherString.Rows(0).Item(11).ToString
            txtCashAmt.Text = DTVoucherString.Rows(0).Item(6).ToString
            Me.Refresh()
        Else
            MsgBox("No valid record could be found(Cash)!!")
        End If

У меня есть вышеуказанный код внутри подпроцедуры, и я вызываю его из другой формы. Когда sub вызывается первый раз, все текстовые поля отображают правильные значения. Но при повторной попытке значения не обновляются. Помещение точки останова в подпункт показывает, что код работает правильно, так как при наведении курсора мыши на текстовые поля отображаются правильные значения. Я уже пробовал следующие методы безрезультатно: Me.Refresh Me.Update Textbox.update/refresh

Это в VB. NET 2019.

Редактировать: код в форме вызова:

  Private Sub DGVTotalReport_CellMouseDoubleClick(sender As Object, e As 
   DataGridViewCellMouseEventArgs) Handles 
   DGVTotalReport.CellMouseDoubleClick

    Dim ExpForm As New ExpenseEntry
    My.Settings.TranCodeExpOpen = 
    DGVTotalReport.Rows(e.RowIndex).Cells(8).Value


    If My.Settings.ExpenseForm = False Then
        ExpForm.Show()
        ExpForm.OpenVoucher()
        My.Settings.ExpenseForm = True


    Else           
        My.Settings.ExpenseForm = True

        ExpForm.Activate()
        ExpForm.OpenVoucher()
        ExpForm.Refresh()


    End If
End Sub
...