Ich habe mehrere PopUps die jeweils eine Suche via Event SelectionChanged ausführen.
Ich möchte nun, dass die Auswahl eines PopUps gleichzeitig die anderen leert.
Da aber das Leeren der anderen PopUps via Funktion scheinbar wieder jeweils einen SelectionChanged auslöst, hebe ich das Raum-Zeit-Kontinuum auf.
Wie macht ihr das?
Ein Property setzen, das im Event als Erstes abgefragt wird und bei gesetztem Wert wird das Event mit Return abgebrochen/beendet.
Bei mir heisst das Property mLoading vom Typ Boolean und wird immer dann gesetzt, wenn ich Textfelder o.ä. mit Daten befülle oder leere…
Ich habe das mit den Bool-Property gemacht, bis mir dann aufgefallen ist, dass ich eigentlich schon zufällig alles vorbereitet hatte. Es war nur noch nicht vollständig.
SelectionChanged Datum1:
If PopupMenu_Datum1.SelectedRowIndex > 0 then
// alle außer Datum1 leeren
SegmentedButton1.SelectedSegmentIndex = -1
PopupMenu_Rechnungsteller.SelectedRowIndex = 0
PopupMenu_Name.SelectedRowIndex = 0
PopupMenu_Datum2.SelectedRowIndex = 0
Suchfeld1.Text = ""
Label_Suchfeld1.Text = "0"
clearfocus
etc.
end if
SelectionChanged Datum2:
If PopupMenu_Datum2.SelectedRowIndex > 0 then
// alle außer Datum2 leeren
SegmentedButton1.SelectedSegmentIndex = -1
PopupMenu_Rechnungsteller.SelectedRowIndex = 0
PopupMenu_Name.SelectedRowIndex = 0
PopupMenu_Datum1.SelectedRowIndex = 0
Suchfeld1.Text = ""
Label_Suchfeld1.Text = "0"
clearfocus
etc.
end if
… und weitere.
Da ich ich nur bei SelectedRowIndex > 0 leere kommt es auf’s gleiche raus wie mit dem Bool-Property.
Alle weiteren Felder leeren sich gegenseitung wie ich es wollte.
Ich werde das noch alles via Parameter kürzen wegen der vielen doppelten Zeilen.
Danke für den Tipp!