2012-04-12 6 views
0

Ich denke, dass es etwas gibt, was ich bezüglich der Registry nicht verstehe.GXT Registry Update

Ich habe eine App. mit 3 verschiedenen Tabs. Um auf dem Tab 3 eine Zeile zum Grid hinzuzufügen, müssen Sie eine Zeile in den Grids auf den Tabs 1 und 2 "auswählen". Wenn Sie eine Zeile in den Tabs # 1 und # 2 auswählen, speichere ich die "ID" der Zeile und bekomme ein "sessionInfo" -Objekt in der Registry (nur ein Objekt mit einer Menge java.Strings drin).

Wenn ich 1. zu Tab # 3 gehe (ohne eine Rasterzeile von # 1 und # 2 auszuwählen) bekomme ich einen Fehler, wenn ich versuche, eine Zeile hinzuzufügen (was richtig wäre, da nichts auf # 1 und # 2 ausgewählt ist)). Ich gehe dann zurück zu den Tabs 1 und 2, wähle jeweils eine Rasterzeile aus (die das Objekt "sessionInfo" in der Registry aktualisiert). Ich gehe dann zurück zu # 3 und versuche, eine Zeile hinzuzufügen, aber die "sessionInfo" erscheint nicht aktualisiert werden?!? (d. h. die ausgewählten Strings sind immer noch leer)

Das Überprüfen der Sitzungsvariablen erfolgt in einer privaten Methode (außerhalb der onRender() -Methode), die über die SelectionListener.componentSelected() -Methode der Add-Schaltfläche aufgerufen wird.

~ r

PS: Ich vermute, es hat mit der Registry-Variable innerhalb der Tab # 3 Klasse ist eine Instanz zu tun?!?

PPS: Ich aktualisiere auch ein gxt.ui.client.widget.Status Widget. Wenn ich das (auch aus der Registry) es ist aktualisiert?!?!

PPPS: Bitte zeigen Sie mich nicht auf den Thread mit dem Titel "Registry Pros und Contras". Es ist schön zu sagen, dass Sie die Registrierung nicht verwenden und dann keine andere Alternative als "etwas stimmt nicht mit Ihrer App" angeben. (klar, aber nicht sehr nützlich.

Antwort

0

Sie können immer noch eine Art von Registry erstellen, indem Sie Ihre eigene Klasse basierend auf einer HashMap verwenden, um allgemeine Daten zu speichern, die Sie an anderer Stelle benötigen könnten. Ich benutze nicht Gxt, sondern SmartGwt und Sie here kann vielleicht helfen