Ich habe ein Formular mit CheckBox
und RadioButton
Kontrollen. Wenn Leute auf die Knöpfe/Kästchen klicken, werden die Ergebnisse in meiner Datenbank gespeichert. Später möchte ich vielleicht, dass jemand anderes das Formular abruft und Änderungen vornimmt oder es weiter verwendet.Wie markiere ich ein Optionsfeld als überprüft, ohne dass eine Aktion ausgeführt wurde?
Wenn ich die Informationen aus der Datenbank in ein neues "Such" -Formular zurückverwandele (das genau so aussieht wie das Formular, das zum Übermitteln der Daten verwendet wird), sollen die Optionsfelder den Zustand wiedergeben, in dem sie sich befanden Gerettet. Wenn also eine Box beim Speichern TRUE (markiert) wurde, möchte ich, dass sie auf dem neuen Formular TRUE (markiert) anzeigt.
JEDOCH wenn ich
radiobutton.checked = True
Es macht meine Taste markieren, wie geprüft .... es wirkt auch wie die Taste erneut geklickt wurde. Also habe ich doppelte Ergebnisse in meiner Datenbank. Es wird dies jedes Mal tun, wenn das Formular geöffnet wird.
Also, ich möchte eine Möglichkeit, die Box als markiert markiert (der Zustand, in dem es war, wenn gespeichert), aber nicht das Ereignis erneut verursachen.
Hier ist ein Beispiel:
str = "SELECT * from OpenEvents WHERE EventID = " & eventId & ""
Dim cmd6 As OleDbCommand = New OleDbCommand(str, myConnection)
dr = cmd6.ExecuteReader()
While dr.Read()
contactType = dr("ContactType").ToString
abend = dr("Abend").ToString
paged = dr("Paged").ToString
shortSummary = dr("ShortSummary").ToString
eventNotes = dr("EventNotes").ToString
impacting = dr("Impacting").ToString
L1Engaged = dr("L1Engaged").ToString
L2Engaged = dr("L2Engaged").ToString
managerEngaged = dr("ManagerEngaged")
IncTicket = dr("IncTicket").ToString
End While
myConnection.Close()
If contactType = "Call" Then
CallRadioButton.Checked = True
ElseIf contactType = "IM" Then
IMRadioButton.Checked = True
ElseIf contactType = "Other" Then
OtherRadioButton.Checked = True
ElseIf contactType = "Alert" Then
AlertRadioButton.Checked = True
Else
End If
If abend = "True" Then AbendCheckBox.Checked = True
If paged = "True" Then PagedYes.Checked = True
ShortSummaryTextBox.Text = shortSummary
DetailsTextBox.Text = eventNotes
If impacting = "True" Then ImpactingYesRadioButton.Checked = True
If L1Engaged = "True" Then L1YesRadioButton.Checked = True
If L2Engaged = "True" Then L2YesRadioButton.Checked = True
If managerEngaged = "True" Then ManagerYesRadioButton.Checked = True
IncTicketTextBox.Text = IncTicket
Ich schlage vor, Sie erstellen einen booleschen Wert für das Load-Ereignis verwendet werden. Starten Sie es als wahr und ändern Sie das Ergebnis nach false, wenn das Laden des Formulars abgeschlossen ist. Und bei jeder Funk-/Prüfaktion verifizieren Sie den Wert des booleschen Wertes und verlassen die Untereinheit, wenn das Formular geladen ist. – Abner