Autor Thema: Inhalt einer Checkbox in View anzeigen  (Gelesen 39344 mal)

Offline theBastian

  • Senior Mitglied
  • ****
  • Beiträge: 484
  • Geschlecht: Männlich
Inhalt einer Checkbox in View anzeigen
« 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.  :(

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 »
Domino, Notes, Sametime

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Inhalt einer Checkbox in View anzeigen
« Antwort #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
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Glombi

  • Gast
Re: Inhalt einer Checkbox in View anzeigen
« Antwort #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

Offline theBastian

  • Senior Mitglied
  • ****
  • Beiträge: 484
  • Geschlecht: Männlich
Re: Inhalt einer Checkbox in View anzeigen
« Antwort #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  ;)

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.  :(

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

cu
der B@sti
Domino, Notes, Sametime

Glombi

  • Gast
Re: Inhalt einer Checkbox in View anzeigen
« Antwort #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

Offline Mandalor

  • Senior Mitglied
  • ****
  • Beiträge: 359
  • Geschlecht: Männlich
Re: Inhalt einer Checkbox in View anzeigen
« Antwort #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?
mit besten Grüßen

Markus Petzold

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Inhalt einer Checkbox in View anzeigen
« Antwort #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

Offline theBastian

  • Senior Mitglied
  • ****
  • Beiträge: 484
  • Geschlecht: Männlich
Re: Inhalt einer Checkbox in View anzeigen
« Antwort #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
Domino, Notes, Sametime

Offline theBastian

  • Senior Mitglied
  • ****
  • Beiträge: 484
  • Geschlecht: Männlich
Re: Inhalt einer Checkbox in View anzeigen
« Antwort #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
Domino, Notes, Sametime

Glombi

  • Gast
Re: Inhalt einer Checkbox in View anzeigen
« Antwort #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

Offline theBastian

  • Senior Mitglied
  • ****
  • Beiträge: 484
  • Geschlecht: Männlich
Re: Inhalt einer Checkbox in View anzeigen
« Antwort #10 am: 17.08.05 - 15:14:26 »
Die Idee ist natürlich noch besser. Und das klappt auch bei Mehrfachwerten?
Domino, Notes, Sametime

Glombi

  • Gast
Re: Inhalt einer Checkbox in View anzeigen
« Antwort #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 »

Offline theBastian

  • Senior Mitglied
  • ****
  • Beiträge: 484
  • Geschlecht: Männlich
Re: Inhalt einer Checkbox in View anzeigen
« Antwort #12 am: 17.08.05 - 15:21:43 »
Hast natürlich recht.  ;)

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

cu
der B@sti
Domino, Notes, Sametime

Offline StefanP1962

  • Frischling
  • *
  • Beiträge: 23
  • Geschlecht: Männlich
Re: Inhalt einer Checkbox in View anzeigen
« Antwort #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.  O0
« Letzte Änderung: 27.09.16 - 08:24:58 von StefanP1962 »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz