Domino 9 und frühere Versionen > ND9: Entwicklung
User soll Feld selbst in Maske hinzufügen können....
Kaljamam:
....hab es versucht, aber leider nur Teilerfolg eingefahren...
Dialogliste mit Auswahl 1, 2, 3 erstellt + Haken rein bei Felder bei Schlüsselwertveränderung aktualisieren, dann Feld 1, Feld 2, Feld 3. Dort in den Eigenschaften Reiter Absatz verbergen wenn "!Dialogliste ="1" bei Feld 1 und bei Feld 2 und Feld 3 analog weitere Werte. Und siehe da, tatsächlich erscheint Feld 1 nur, wenn ich in der Dialogliste 1 auswähle. Soweit so schlecht......denn, hier habe ich nur entweder oder....d.h. wähle ich 1 aus, kommt auch nur Feld 1, wähle ich 2 aus, dann erscheint eben nur Feld 2....GrundPROBLEM: Feld 1 verschwindet, wenn ich später 2 in der Dialogliste wähle...soll ja aber bestehen bleiben, denn ich möchte ja dem User die Möglichkeit geben, beliebig viele Felder zu ergänzen(bis 10 max)
Gerne hätte ich die Lösung von Peter Klett umgesetzt, aber leider komm ich da nicht ganz rein...halt leider blutiger Anfänger ::)
ich erstelle 10 Felder in meiner Maske, also Feld 1, Feld 2 etc., klar die Felder müssen ja da sein, damit bei Bedarf über eine entsprechende Auswahl der User diese sichtbar werden und befüllt werden können....sie werden aber erst sichtbar, wenn User sagt, ich will 3 Felder, 7 bleiben dann verborgen...
"ein weiteres Feld enthält die Anzahl der gewünschten Felder", also zum Beispiel User gibt in das gewünschte Feld erst einmal 2 Felder ein, dann erscheinen 2, wenn er will kann er dann über die Schaltfläche + ein weiteres einsetzen? Komm ich leider nicht mit....
über weitere Hilfestellung und Tipps wäre ich sehr froh...
Details zum Ziel: Besprechungsprotokoll - > User öffnet Maske -> dort erscheint TOP1 als erst eingestellter Standardwert -> User füllt TOP 1 aus -> dann will er aber noch TOP 2 -> nun kann er auf + drücken und TOP 2 wird sichtbar. Kann ncoh weitere 8 Mal auf + drücken, also weitere 8 Besprechungs TOPS dazufügen, dann ENDE.
cebolina:
Verbergeformel ist falsch.
Versuch mal:
Dialogliste < "1"
Dialogliste < "2"
...
Dialogliste < "10"
oder mach das:
Erstelle ein Feld "Anzahl" (Text, berechnet beim Anlegen, Wert "1", immer verborgen)
Verbergeformel für Feld "Top1":
--- Code: ---Anzahl < "1"
--- Ende Code ---
Verbergeformel für Feld "TopX"
--- Code: ---Anzahl < "X"
--- Ende Code ---
Erstelle einen Button mit dieser Formel:
--- Code: ---@SetField("Anzahl" ; @Text(@ToNumber(Anzahl) + 1));
@Command([RefreshHideFormulas])
--- Ende Code ---
Verberge den Button, wenn Anzahl = "x"
Stefan
Kaljamam:
BINGO!!!!Das Wochenende ist gerettet!!!DANKE!
cebolina:
Wichtig ist halt auch, dass du verstehst, was du machst ;)
Kaljamam:
Hallo Stefan,
der entscheidende Wink mit dem Zaunpfahl war für mich der Operator >, ab da hats geschnaggelt ;D
Habe es nun wie folgt realisiert.
+ Schaltfläche erstellt mit folgendem Code:
varNum := @TextToNumber(Nummer);
@If(Nummer="10";@Prompt([Ok]; "Fehlerhinweis"; "Es können nicht mehr Felder erstellt werden - Max:10 TOPs");"");
v_Zaehler := varNum + 1;
Ausgabe:= @Text(v_Zaehler);
@SetField("Zaehler"; Ausgabe);
@SetField("Nummer"; Ausgabe);
@Command([RefreshHideFormulas])
In der Maske enthalten sind zwei versteckte Felder, Nummer und Zaehler.
Natürlich auch noch eine - Schaltfläche, dass der Anwender ein versehentlich zu viel erstelltes(sichtbar gemachtes) Feld wieder rausnehmen kann. Gleicher Code wie oben, halt mit -1, statt mit + 1.
Schlussakt:
In der Tabelle Text in Spalte 1 und in Spalte 2 erstelltes Feld mit folgendem Code im Reiter Absatz verbergen, wenn Formel wahr ist: Zaehler < "1" versorgen.
Funktioniert einwandfrei. Anwender geht auf + und schon erscheint ein Zusatzfeld, dass macht der Anwender bis max. 10 TOPs. Drucken funktioniert auch einwandfrei, da er die nur erstellten(sichtbaren) Felder, bzw. Tabellenzeilen anzeigt/druckt.
Danke Allen für die Hilfe. Jetzt hab ich es genau so, wie ich es wollte!
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln