Hallo,
wenn ein Anwender zu einer Auswahl gezwungen werden soll, diese Auswahl aber selektiv erfolgen soll bietet sich der Vorteil in der Nutzung eines Kombinationsfeldes gegenüber dem Auswahlgrid. Am „aus der Luft gegriffenen einfachen Beispiels erklärt“: ein Server soll irgendeine „Wichtigkeit = 3“ bekommen. Die Wichtigkeiten sind von 1 bis 6 in einer eigenen Tabelle festgelegt. Dazu bauen wir in die Datenmaske ein Kombinationsfeld ein, welches Pflicht ist beim speichern. In den Eigenschaften des Kombinationsfeldes kann man (Stand heute) unter anderem folgende Settings festlegen (Screenshot): Nun habe ich beim Erstellen eines neuen Wertes in der Eingabemaske standardmäßig „“ in der Selektbox stehen. Was auch gut und gewollt ist! Trotzdem kann ich speichern (!!!), obwohl die Combobox ein „IsMandatory“ ist. In der Datentabelle entsteht ein Nullwert, was so nicht passieren sollte und darf. Gesetzt den Fall: die Datenquelle ist eine Tabelle mit den Zahlenfolgen 1,2,3,4,5,6 (sozusagen „Wichtigkeiten“. Ich möchte bei der Auswahl meinen Anwender ZWINGEN etwas auszuwählen. Somit geht das nicht. Erst, wenn ich „IsMandatory“ in der Combobox deaktiviere, erreiche ich keine Anlage von Nullwerten. Aber GENAU in dieser Verhaltensweise ist eine denkbar ungünstige Konstellation: Der User vergisst eine Auswahl (5 anstelle 1) zu wählen, und schon hat man falsche Werte in der Tabelle! Weil die Kombobox „Sorted“ das Anzeigefeld der Datenquelle sortiert ausgibt und somit z.B. die 1 „Standard“ ist, obwohl dies noch gar nicht fest steht. An unserem Beispiel bedeutet dies bei deaktiviertem „IsMandatory“, dass ein Benutzer eine Zensur vergibt beim Speichern, die eventuell falsch ist, weil er schlicht vergessen hat durch Auswahl der richtigen Note (die 3) darüber nachzudenken vor dem Speichern. Server ist nun plötzlich die 1 in der Wichtigkeit, was völlig falsch ist. Als Lösung habe ich hierzu 2 Ansätze für die Entwicklung: a) Das Metaobject Kombinationsfeld entsprechend logisch umbauen und NoSelection nur als Wort einblenden aber nicht als NULL-Value b) In der Zieltabelle das Feld dahingehend optional zu sichern, dass NULL nicht zulässig ist (Optionsfeld im Tabelleneditor) Ich hoffe mein Beispiel war verständlich. Ich habe für das Beispiel eine Zahl gewählt, es hätte auch ein Text sein können. Sicher, man könnte Datengrids einbauen, nur sind diese oft sehr unübersichtlich in Masken, mit vielen wählbaren Optionen. Danke an die Entwicklung, in dieser Idee sehe ich tatsächlich einen dringenden Handlungsbedarf.