2012-03-29 1 views
1

Ich benutze ADF in JDeveloper und habe keine Erfahrung mit einem der beiden. Jetzt habe ich schon einige Probleme bekommen, aber für dieses spezielle Ding habe ich mich entschieden, das Wisdom of Stackoverflow zu Rate zu ziehen.Checkboxen in ADF sind anfänglich Null, wo ich sie haben möchte 0

Die Sache ist, ich habe ein Bearbeitungsformular für ein Objekt, das 3 Kontrollkästchen enthält. Die überprüften Werte sind auf 1 gesetzt, nicht auf 0 gesetzt. In meiner Datenbank sind die Werte NICHT NULL, und ich möchte es so behalten.

Die Sache ist, in der Bearbeitungsform, wenn der Benutzer das Formular übergibt, irgendwelche Kästen unchecked lassen, wird es einen Fehler ergeben, weil die ungeprüften Kastenwerte anscheinend Null bleiben. Erst wenn Sie die Kontrollkästchen erneut aktivieren und dann wieder deaktivieren, sind ihre Werte "0" und nicht null.

Ich habe einige Dinge ausprobiert, darunter die Attribute zwingend in der Domäne BCD zu machen, aber das gibt nur ein bisschen mehr ordentlich Fehlermeldung ..

Jede Hilfe wäre sehr dankbar !!

EDIT

machte ich ein wenig Fortschritte dank der Führung durch Joe vorgesehen, aber immer noch auf Probleme stoßen.

Ich änderte die Werte, die Kontrollkästchen in meinem Modell sein sollten, so dass sie BOOLEANs, wo die Tabellenspalten sind NUMBERs (Alle sind auch obligatorisch und haben einen Standardwert von 0). Dies änderte automatisch auch das entsprechende View-Objekt. Im Anwendungsmodul funktioniert das jetzt großartig. Es zeigt Kontrollkästchen an, ein überprüftes gibt 1 zurück, ein unberührtes gibt 0 zurück.

Jedoch löschte ich das alte Formular und fügte ein neues ein, das das entsprechende Datensteuerelement verwendet. Ich habe diesen Werten den Checkbox-Typ gegeben. Ich musste noch die Bindungen bearbeiten (was ich denke, spiegelt das Problem, wie dies bei sagen wir, eine Modell-Ebene definiert LOV) nicht und gab ihnen 1 für überprüft und 0 für nicht überprüft.

Aber abgesehen von dem ursprünglichen Problem, das immer noch auftritt, können auch die Kontrollkästchen nach der Überprüfung nicht deaktiviert werden und geben 0 zurück, wenn sie aktiviert sind (und null, wenn sie nicht geändert werden).

Obwohl dies neue Probleme verursacht hat, funktioniert es richtig in meinem AM. Weiß jemand, was ich in meiner Swing-Form falsch mache?

Antwort

0

Link könnte helfen: http://theo.vanarem.nl/2010/07/07/adf-checkbox-representing-a-yes-or-no-value/

oder

die EO impl verlängern und doDML außer Kraft setzen und jedes der Attribute überprüfen - wenn null, setzen Sie ihn auf 0

+0

Vielen Dank für den nützlichen Link! Obwohl es mein Problem nicht gelöst hat, gab es doch einen Einblick. Ich fühle mich nicht wohl genug mit dem ADF-Framework, um meine eigenen Lösungen zu programmieren, aber danke für die Option sowieso :). –

Verwandte Themen