AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
13.12.17 - 21:44:37
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino 6
| |-+  ND6: Entwicklung (Moderatoren: _Arne_, Axel, eknori, ata, koehlerbv)
| | |-+  Inhalt einer Checkbox in View anzeigen
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Inhalt einer Checkbox in View anzeigen  (Gelesen 8972 mal)
theBastian
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 441



« am: 17.08.05 - 14:31:22 »

Hallo,

ich habe mal wieder ein Problem, was eigentlich banal klingt aber mich schon wieder zum Verzweifeln bringt.  Sad

Ich habe ein Feld als Checkbox, das folgende Werte enthält: (Mehrfachauswahl möglich)

Birne |1
Apfel |2
Kirsche |3

Dieses Feld soll jetzt in einer View angezeigt werden. Logischerweise wird natürlich nur 1,2 oder 3 (oder eine Kombination davon) angezeigt.
Ich suche also eine Formel, die wieder die oben genannten Werte anzeigt.

Weiterhin habe ich damit ein grundsätzliches Problem.
Wenn ich das Ganze so mache, dann muss ich die Werte (Birne, Apfel usw.) an 2 Stellen pflegen (Feld und View).
Wie macht ihr denn sowas? Gibt es da eine bessere Lösung?

Dank Euch im voraus.

cu
der B@sti
« Letzte Änderung: 17.08.05 - 14:51:26 von SKL74 » Gespeichert

Domino, Notes, Sametime
umi
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 1960


one notes to rule'em all, one notes to find'em....


WWW
« Antworten #1 am: 17.08.05 - 14:34:28 »

Ich mache dies immer über ein berechnetes Feld für die Ansichten.
Dieses Feld wird im QuerySave gefüllt, da zu diesem Zeitpunkt über das NotesUIDokument noch an die Werte vor dem "|" zugegriffen werden kann,  via uidoc.fieldgettext.

gruss
umi
Gespeichert

Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>
Glombi
Gast
« Antworten #2 am: 17.08.05 - 14:38:44 »

Prinzipiell gibt es 2 Möglichkeiten:

1. Speichern des Anzeigenamens in dem Dokument
2. Berechnen in der Ansicht

1. macht Sinn, wenn sich die Begriffe nicht (oder nur selten) ändern.
Nachteil: bei Änderung müssen alle betroffenen Dokumente aktualisiert werden
Vorteil: Performance; wenig Programmieraufwand

2. macht Sinn, wenn sich die Begriffe ändern können
Nachteil: ggf. erheblicher Programmieraufwand, wenn das in vielen Ansichten ist
Vorteil: keine Änderung bestehender Dokumente


1 realisiere ich im QuerySave so
doc.FeldXYZ = Source.FieldGetText( "Feldname" )

2. realisiere ich in der View so
@Replace(Feldname, "1":"2";"Äpfel":"Birnen")

Andreas
Gespeichert
theBastian
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 441



« Antworten #3 am: 17.08.05 - 14:50:47 »

Danke für die schnelle Antwort. Da die ähnlich sind, nehme ich mal zu Glombis Antwort Stellung.

1. Möglichkeit: Anzahl der Felder mit Checkboxen wird ja damit verdoppelt;
2. Möglichkeit: Arbeitsaufwand bei Änderung ist wirklich nicht zu vernachlässigen  Wink

Die Dokumente sollen nach der Erstellung nicht mehr verändert werden. (Revisionssicherheit.)

Änderungen sollen dann nur für neue Dokumente gelten. Daher werde ich wohl Variante 1 wählen und halt noch ein paar Felder bauen.  Sad

Vielen Dank für Eure Hilfe. Wieder etwas schlauer geworden.

cu
der B@sti
Gespeichert

Domino, Notes, Sametime
Glombi
Gast
« Antworten #4 am: 17.08.05 - 14:58:11 »

Ich persönlich bevorzuge Lösung 2.
Auch wenn man ein paar View beackern muss, ist es wesentlich dynamischer.

Was ich übersehen habe: Es können Mehrfachwerte sein. D.h. du musst in der Eingabeumsetzung des neuen Feldes noch ein Explode machen, damit Du wieder Mehrfachwerte hast.

@Explode(Feldname;";")

Warum verwendest Du überhaupt einen Alias?

Andreas
Gespeichert
Mandalor
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 358



« Antworten #5 am: 17.08.05 - 15:00:51 »

Warum verwendest Du überhaupt einen Alias?

diese Frage habe ich mir auh gerade gestellt, was ist mit möglichkeit 3:

Feldinhalt:

Birna
Apfel
Kirsche

--> fertig?
Gespeichert

mit besten Grüßen

Markus Petzold
koehlerbv
Moderator
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 20445



« Antworten #6 am: 17.08.05 - 15:01:04 »

Warum verwendest Du überhaupt einen Alias?

Jo, das frage ich mich auch. Dir geht es ja um Revisionssicherheit. Dokumentintern wäre die zwar weiter gegeben, aber wenn ein Alias geändert wird, werden im Frontend ja auf einmal auch für ältere Dokumente ganz andere Inhalte angezeigt. Aliase sind da in diesem Zusammenhang sogar kontraproduktiv.

Bernhard
Gespeichert
theBastian
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 441



« Antworten #7 am: 17.08.05 - 15:03:52 »


Warum verwendest Du überhaupt einen Alias?


Naja, die Feldinhalte sehen in Wirklichkeit eher so aus:

bis 25.000 €|1
25.000 € bis 50.000 €|2
50.000 € bis 150.000 €|3
über 150.000 €|4

Und die muss ich dann später noch auswerten.
@If Feld = "1" ; ...
Da sind mir Zahlen einfach lieber.

cu
der B@sti
Gespeichert

Domino, Notes, Sametime
theBastian
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 441



« Antworten #8 am: 17.08.05 - 15:06:37 »


Jo, das frage ich mich auch. Dir geht es ja um Revisionssicherheit. Dokumentintern wäre die zwar weiter gegeben, aber wenn ein Alias geändert wird, werden im Frontend ja auf einmal auch für ältere Dokumente ganz andere Inhalte angezeigt. Aliase sind da in diesem Zusammenhang sogar kontraproduktiv.


Bei Verwendung von Variante 1 bleiben die Werte ja erhalten. Änderungen an der Auswahl gilt ja dann nur für neue Dokumente.

cu
der B@sti
Gespeichert

Domino, Notes, Sametime
Glombi
Gast
« Antworten #9 am: 17.08.05 - 15:10:25 »


Warum verwendest Du überhaupt einen Alias?


Naja, die Feldinhalte sehen in Wirklichkeit eher so aus:

bis 25.000 €|1
25.000 € bis 50.000 €|2
50.000 € bis 150.000 €|3
über 150.000 €|4

Und die muss ich dann später noch auswerten.
@If Feld = "1" ; ...
Da sind mir Zahlen einfach lieber.

cu
der B@sti

Ich verwende in solchen Fällen folgendes:

bis 25.000 €|bis 25.000 €#1

d.h. mein Alias hat sowohl den Anzeigenamen als auch einen Identifier, Dann kannnst Du mit
 @Right(Feld;"#")
den "Alias" (Identifier) und mit
 @Left(Feld;"#")
den Anzeigenamen berechnen.



Damit habe ich sowas immer gut im Griff.

Andreas
Gespeichert
theBastian
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 441



« Antworten #10 am: 17.08.05 - 15:14:26 »

Die Idee ist natürlich noch besser. Und das klappt auch bei Mehrfachwerten?
Gespeichert

Domino, Notes, Sametime
Glombi
Gast
« Antworten #11 am: 17.08.05 - 15:16:08 »

Die Idee ist natürlich noch besser. Und das klappt auch bei Mehrfachwerten?
Das klappt auch bei Mehrfachwerten ohne Probleme. Du musst nur folgende Syntax einhalten:
<Anzeigename>|<Anzeigename>#<Identifier>

Eine Erweiterung wäre noch
<Anzeigename>|<Anzeigename>#<Identifier>~[<Flag1>~...~<FlagN>]

Alias = @Left(@Right(Feldname;"#");"~")

dann kannst Du quasi wie in einem QueryString noch diverse Flags mitgeben, bpsw. für Sortierung, Gruppierungen von Schlüsselworten etc.

Andreas
« Letzte Änderung: 17.08.05 - 15:20:29 von Glombi » Gespeichert
theBastian
Senior Mitglied
****
Offline Offline

Geschlecht: Männlich
Beiträge: 441



« Antworten #12 am: 17.08.05 - 15:21:43 »

Hast natürlich recht.  Wink

Solche kleinen Sachen fehlen mir als "Hobbyprogrammierer" eben immer.

cu
der B@sti
Gespeichert

Domino, Notes, Sametime
StefanP1962
Frischling
*
Offline Offline

Geschlecht: Männlich
Beiträge: 23



« Antworten #13 am: 26.09.16 - 11:35:54 »

Hallo  zusammen,

ich weiß, ein ewig alter Thread. Aber es ist ein immer wieder gesuchtes Thema.

Wie wäre es mit folgender Lösung (funzt unter Version 9.1):

Voraussetzung ist, dass der Klarname und dazugehörige Alias in einem Dokument steht, welches z. B. für die Feldauswahl verwendet wird. Quasi ein Konfigurationsdokument.

PostOpen der View:
_Field := "Reisemittel";
_Auswahl := @If(
   @IsError( @DbLookup("":"NoCache";"";"(ViewConfiguration)"; _Field; "FeldName_mit_Werten") );
          "kein Konfigurationsdokument >Auswahlfeld " + _Field + "< vorhanden!";
   @DbLookup("":"NoCache";"";"(ViewConfiguration)"; _Field; "FeldName_mit_Werten")
   );
@Environment("PL_Reisemittel"; @Implode(_Auswahl;"~"))

In der Spalte der View:
_Liste := @Explode( @Environment("PL_Reisemittel");"~");
_Liste_K := @Trim( @Left( _Liste; "|") );
_Liste_A := @Trim( @RightBack(_Liste; "|") );
_Column := @Replace( Reisemittel; _Liste_A; _Liste_K);
_Column

Dann im QueryClose der View den Eintrag wieder entfernen:
Dim session As New NotesSession
Call session.SetEnvironmentVar( "$PL_Reisemittel", "")
   
Nachtrag (edit): Problem dabei ist, dass man nicht um SHIFT+F9 herumkommt.  Afro
« Letzte Änderung: 27.09.16 - 08:24:58 von StefanP1962 » Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: