Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: iukhdh am 22.10.09 - 17:21:11

Titel: @iscategory und Farben in Ansichten
Beitrag von: iukhdh am 22.10.09 - 17:21:11
Hallo liebe Notes-Gemeinde,

folgendes Problem habe ich:

Wir haben eine Ansicht, in der die Dokumente in mehreren Stufen kategorisiert sind, die erste Kategorie zeigt "offen" bzw. "erledigt" an.

Nun wolle ich das Ganze ein wenig aufpeppen, und die Begriffe "offen" bzw "erledigt" mit farblichem Hintergrund unterscheiden. Das ist ja mit einer Spalte  davor und danach machbar, in denen "Wert als Farbe darstellen" angemarkert ist.

Bekomme ich auch einwandfrei hin.

Nur ist mir/uns negativ aufgefallen, dass nicht nur der Kategoriebegriff farblich hinterlegt ist, sondern letztlich auch die letzte Zeile mit dem dann komplett aufgeklappten Dokument an dieser Stelle einen farblichen Hintergrund hat.

Nun bin ich auf die Idee gekommen, dies mit @iscategory zu unterbinden. Wenn ich in die Spalte vor der Kategorie @iscategory ("Ja";"Nein") eingebe, dann erscheint auch einwandfrei in der Kategorienzeile ein "Ja" und in der Dokumentenzeile ganz unten ein "Nein" in der Spalte.

Laut Hilfe sollte dies ja eigentlich einen String, also mein "Ja" oder "Nein"  zurückgeben, aber anscheinend kann man auf diese Strings keine Abfrage tätigen, oder?

Wenn ich nämlich mit einer einfachen @if Abfrage versuche, diese Strings in andere Werte (z.B. Zahlenwerte für die Farbgestaltung) umzuwandeln, dann klappt das einfach nicht. Es wird bei der @if Abfrage immer nur der False Wert gesetzt.

Geht das nicht? Hat jemand eine Idee wie ich es schaffe die Kategorie einzufärben, die anderen Zeilen aber weiß zu lassen?

Hoffe meine Erklärung war verständlich

Nun ist uns  
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: iukhdh am 29.10.09 - 14:11:43
Hallo,
darf ich mich nochmal nach vorne setzen  :-)

Meine Frage ist immer noch, warum ich auf die Strings, die ich mit @iscategory bekomme, keine Abfrage tätigen kann, und somit meine farbliche Gestaltung hinbekomme.

Hat noch keiner mit @iscategory Erfahrungen gesammelt?

 :-:
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: samWare am 02.11.09 - 14:15:23
Logisch kannst du das Abfragen?! @IsNull(@IsCategorie) wertet dir das schön aus.

Wenn ich dich richtig verstehe willst du die die Kategorieüberschrift also:

> Kategorie (das hier)
     doc1
     doc2

farblich gestallten. Dazu folgendes:

Falls du schonmal ausprobiert hast einfach radikal die ganze View einzufärben (via 1. Spalte) wird dir sicherlich aufgefallen sein dass sich Kategorieüberschriften nicht einfärben lassen.. Aber ich bin sicher das hast du ja bereits ausprobiert und bemerkt.

...Dann versteh ich die ganze Fragestellung aber nicht mehr ;)

Kann natürlich sein dass ich dich falsch verstehe ::)

mfg Samuel
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: iukhdh am 03.11.09 - 15:49:35
Hallo Samuel,

danke für die Antwort, konnte nicht gleich antworten.

Ich bin mir nicht sicher ob wir uns richtig verstanden haben. Wenn ich in einer Spalte vor einer Kategorisierung Farbenwerte für den Hintergrund eingebe, dann wird bei mir sehr wohl die Kategorie farblich verändert, der Hintergrund ist z.B. Rot.

Nur ... ich möchte das NICHT in der Zeile, in der keine Kategorie angezeigt wird, sonder nur noch die einzelnen Dokumente.

Wenn ich in der Spalte vor der Kategorie die Formel "@iscategory ("N";"Y") eingebe, dann wird da schön angezeigt, dass ob in der Zeile eine Kategorie ist oder nicht. z:B

Y  Kategorie1
Y       Kategorie2
N             Text blabla

Wenn ich nun aber in der ersten Spalte die Formel

@if(@iscategory ("N";"Y")="N"; Farbwert1; Farbwert2)

eingebe, dann bekomme ich immer den verneinenden Farbwert2.

Woran liegt das?
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: Ralf_M_Petter am 04.11.09 - 11:08:53
Hallo Samuel,

danke für die Antwort, konnte nicht gleich antworten.

Ich bin mir nicht sicher ob wir uns richtig verstanden haben. Wenn ich in einer Spalte vor einer Kategorisierung Farbenwerte für den Hintergrund eingebe, dann wird bei mir sehr wohl die Kategorie farblich verändert, der Hintergrund ist z.B. Rot.

Nur ... ich möchte das NICHT in der Zeile, in der keine Kategorie angezeigt wird, sonder nur noch die einzelnen Dokumente.

Wenn ich in der Spalte vor der Kategorie die Formel "@iscategory ("N";"Y") eingebe, dann wird da schön angezeigt, dass ob in der Zeile eine Kategorie ist oder nicht. z:B

Y  Kategorie1
Y       Kategorie2
N             Text blabla

Wenn ich nun aber in der ersten Spalte die Formel

@if(@iscategory ("N";"Y")="N"; Farbwert1; Farbwert2)

eingebe, dann bekomme ich immer den verneinenden Farbwert2.

Woran liegt das?


Weiss nicht, ob das nur in deinem Post ist, aber du hast einen Abstand zwischen @isCategory und dem "(". Das kommt mir sehr seltsam vor würde ich aber auf jeden Fall mal ohne probieren. Sonst könntest du noch das @iscategory("N";"Y") in eine Klammer setzten, so dass Notes sicher in der richtigen Reihenfolge auswertet.

Grüße

Ralf

Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: iukhdh am 04.11.09 - 15:16:54
Hallo Ralf,

die Formel hab ich hier nur abgetippelt, nicht reinkopiert. Von daher ist im Original keine Leerstelle.

Aber probier(t) es doch mal aus. Also ich bekomme es nicht hin, auf die Textwerte "N" oder "Y" eine Abfrage hinzubekommen. Es scheint mir einfach so, als ob diese Werte nur für die Anzeige sind, aber mit denen nicht gerechnet werden kann.
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: LN4ever am 04.11.09 - 17:18:09
Hallo,

@IsCategory wird nicht mit einer IF-Bedingung abgefragt, sondern ist selbst eine IF-Bedingung und liefert einen TEXT-Wert zurück. Also muß das Vorgehen sein:
Spalte vor der Farbspalte: @IsCategory("J";"N").
Für diese Spalte mußt du dir ihren programmtechnischen Namen (im letzten Reiter der Eigenschaften) suchen, z.B. $57

In der folgenden Farbwert-Spalte trägst du als Formel ein:
_FarbeKategorie:=255:193:253:255:0:0;
_FarbeDetail:= ... (andere Kombination);
@If($57="J";_FarbeKategorie;_FarbeDetail)

Gruß

Norbert
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: Ralf_M_Petter am 04.11.09 - 17:28:21
Hallo Norbert!

Ich denke du hast es nicht probiert. Scheinbar ist bei @IsCategory wieder irgendwas rätselhaft, den auch dein Tip funktioniert meiner Meinung nach nicht.

Grüße

Ralf

Weiss leider selbst keine Lösungmöglichkeit mehr.
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: Thomas Schulte am 04.11.09 - 18:39:33
Da ist überhaupt nichts rätselhaft. Das Ding funktioniert so wie es soll. Nur nicht so wie wir es gerne hätten.

Und wenn man sich das Ganze ein wenig anschaut dann sieht man auch warum ....
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: Ralf_M_Petter am 04.11.09 - 20:16:54
Hallo Thomas!

Nichts für ungut, aber was zeigt dein Screenshot ausser dass es nicht funktioniert. Ich würde es ja verstehen, wenn in einer kategorisierten Spalte gar kein Wert gehen würde. Aber bei meinen schnellen Tests war das schon möglich. Nur wenn man sich auf die @iscategory Funktion bezieht funktioniert es nicht mehr.
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: LN4ever am 04.11.09 - 20:28:58
Der Screenshot zeigt deutlich, daß man die @IsCategory- und die Farbwertspalte VOR der kategorisierten Spalte einfügen muß, denn natürlich werden HINTER einer Kategorie gar keine Spalten mehr in die Columns der View aufgenommen (genau das heißt schließlich Kategorie).

Und insofern zeigt der Screenshot, wie man es nicht machen darf - und warum es nicht klappen kann, wenn man es so macht.

Vielleicht ein kleines Wort zur @IsCategory-Funktion: bis zur Version 3 gab es in Notes keine Twisties, und die einzige Möglichkeit, eine Kategorie anzuzeigen, war eine Spalte VOR der Kategorie mit der Formel @IsCategory("+"). Daher kommt jemand, der die Funktion jemals in diesem Sinn gebraucht hat, überhaupt nicht auf die Idee, daß man eine solche Spalte HINTER der eigentlichen Kategoriespalte ansiedeln kann.

Gruß

Norbert
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: iukhdh am 04.11.09 - 23:46:32
Hallo Leute,
leider sehe ich den Screenshot nicht (mehr?), aber nochmal zur Verdeutlichung:

Natürlich habe ich die @iscategory Funktion VOR der Kategorienspalte eingefügt. Funktioniert ja auch mit "Y" und "N" einwandfrei. Die Version von Norbert 5 Stellen weiter oben hab ich so noch nicht ausprobiert, tu ich morgen mal.

Aber trotzdem nochmal:

Wenn @isCategory("N";"Y") schon als IF Funktion funktioniert, dann müsste ich doch in diesem Fall einen Textwert N oder Y zurückbekommen, auf den ich wieder mit einer anderen IF Abfrage losgehen kann. Also müsste doch meine Testformel @if( @isCategory("Y";"N") ="Y";"Ja";"Nein") funktionieren, und mir ein Ja oder ein Nein liefern. Das tuts aber nicht, es kommt immer nur ein "Nein", also das verneinende Ergebnis.

Mir kommt es wirklich so vor, als ob mit @iscategory garkein handfester Textwert geliefert wird mit dem man rechnen kann, sondern nur eine Anzeige.

Also wenn es jemand (getestet) hinbekommt, dass er in die Spalte vor der Kategorie einen Zahlenwert reinbekommt, mit dem ich dann eine Kategorienzeile anders einfärben kann als eine normale Textzeile ohne Kategorie, dann wäre ich dankbar wenn er mir einfach mal den Code hier reinschreiben könnte.

Aber wie gesagt, ich probier morgen mal die Variante von Norbert aus.
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: TRO am 05.11.09 - 08:26:10
Habs gerade probiert, nur die Kategoriezeilen einzufärben. So gehts bei mir:

erste Spalte, Farbspalte, dort fester Wert für Farbe der Kategoriezeile eintragen.
zweite Spalte, Farbspalte, dort mit @IsCategorie Farbe für die Nicht-Kategoriezeilen festlegen.

Da die zweite Spalte nicht in Kategoriezeilen wirkt, sind jetzt Kategorie-Zeilen und "Normal-Zeilen" unterschiedlich eingefärbt.
War es das, was Du haben wolltest?

Einschränkung: wenn man Hintergrundfarben für Kategoriezeilen verwendet (erste Spalte in Ansicht), dann wirkt sich diese Farbe in den Kat-Zeilen bis zum rechten Rand der View aus und kann nicht durch eine Spalte nach der Kat-Spalte wieder zurückgesetzt / geändert werden.

hth

Thomas
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: Thomas Schulte am 05.11.09 - 10:00:48
Was Norberts Anmerkung angeht. Genau seine vorgeschlagene Lösung hab ich in dieser Ansicht gemacht. Und genau dieser Ansatz funktioniert eben nicht.
Das gleiche gilt auch für die Lösung die Thomas gerade skizziert hat. Da hätte ich ganz gerne einen Beweis das es funktioniert. Das haben Werner und ich gerade zusammen versucht nachzustellen und bekommen auf gar keinen Fall dieses Ergebnis raus.



Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: TRO am 05.11.09 - 10:24:28
also bei mir sieht das so aus:

Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: Thomas Schulte am 05.11.09 - 11:14:52
Tut mir leid Thomas aber das lässt sich bei mir überhaupt nicht nachvollziehen. Zumindest mit der Version 8.0.2 nicht.
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: Birgit R. am 05.11.09 - 12:20:20
Hallo

ich habe es mit einem 8.5 und 7.02 Client versucht und es funktioniert in der Konstellation mit 2 Spalten. Interessante Lösung  :D

Viele Grüße
Birgit
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: iukhdh am 05.11.09 - 12:49:38
@TRO

Kannst du mal die Formel, die du in Spalte 2 eingetragen hast, hier posten?

Also bei mir klappt das mit meiner Formel hier nicht:
Code
@If(@IsCategory("Y";"N")="Y";"Test";255:100:100:100:100:100)

Es steht überall der Farbwert für Rot drin, egal ob Kategorie oder nicht.
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: TRO am 05.11.09 - 13:31:00
Tut mir leid Thomas aber das lässt sich bei mir überhaupt nicht nachvollziehen. Zumindest mit der Version 8.0.2 nicht.

Erstellt mit 6.5.5, getestet auch mit 8.01

@TRO

Kannst du mal die Formel, die du in Spalte 2 eingetragen hast, hier posten?

Also bei mir klappt das mit meiner Formel hier nicht:
Code
@If(@IsCategory("Y";"N")="Y";"Test";255:100:100:100:100:100)

Es steht überall der Farbwert für Rot drin, egal ob Kategorie oder nicht.

erste:
100 : 193 : 193 : 20 : 20 : 20

zweite:
_cat := @Text( @IsCategory );
@If( _cat = "*"; ""; 255 : 127 : 127 : 10 : 10 : 10 )


hth

Thomas
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: iukhdh am 05.11.09 - 14:21:59
 :o
Ich bin baff, da funktioniert es.

Mein erster Gedanke war, das liegt an dem @text, mit dem du den Rückgabewert umwandelst, obwohl ich die Hilfe eigentlich so verstehe, dass der Rückgabewert ein Text ist.

Was noch seltsamer ist:

Wenn ich deine Formel

Code
_cat := @Text( @IsCategory );
@If( _cat = "*"; ""; 255 : 127 : 127 : 10 : 10 : 10 )

umwandle in
Code
@If( @Text( @IsCategory )= "*"; ""; 255 : 127 : 127 : 10 : 10 : 10 )

dann klappts auch nicht.

 :-:
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: Thomas Schulte am 05.11.09 - 14:34:50
Okay also bekommen wir das jetzt langsam zusammen ....

Der Eintrag in der ersten Spalte funktioniert dann und nur dann bei allen Einträgen (inklusive Kategorien), wenn die erste Spalte als CONST behandelt wird. CONST Spalten werden nämlich nicht von Server berechnet, sondern einfach von Client verwurschtet.
Der Eintrag in der zweiten Spalte funktioniert dann, wenn man um @isCategory ein @text herum baut und das Ganze auf eine interne Variable zeigen lässt. Diese Interne Variable muss dann wieder für das Zurücksetzen oder Umsetzen der Farbwerte benutzt werden.

Lustig: Wenn man "Alternate Rows" setzt und in der ersten Spalte eine Farbe und in der zweiten die Zuweisung der Farbe mit -1:-1:-1:-1:-1:-1 wieder abhängig von der Bedingung aufhebt, dann Kann man das Ganze auch noch Scheckig bauen.

Blöd: Was leider nicht geht ist in der ersten Spalte abhängig von einem Feld im Dokument Farben auf einzelne Kategorien zu setzen.
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: iukhdh am 05.11.09 - 16:11:40
@Thomas

Doch, das geht auch, das  haben wir gerade hinbekommen.

Wir haben verschiedene Kategorien "offen", "erledigt" ... und auf die fragen wir in der ersten Spalte ab und setzen dann Farbwerte. Klappt einwandfrei.

Code in der ersten Spalte:

Code
schwarz :=  1:1:1;
weiss := 255:255:255;
rot := 255:0:0;
gelb := 255:255:0;
gruen:= 0:255:0;

@If (Status = "offen"; rot:schwarz; Status = "erledigt"; gruen:schwarz; Status = "Bearbeitung"; gelb:schwarz; weiss)
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: Thomas Schulte am 05.11.09 - 16:18:07
Sind dann die Kategorien verschiedenfarbig, oder die Dokumente?
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: Thomas Schulte am 05.11.09 - 16:27:54
Zeig doch mal einen Screenshot.
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: iukhdh am 05.11.09 - 17:23:25
Gerne

Wie du siehst sind die Kategorien farbig, der Text normal.

Bitte nicht an der ersten Kategorie stören, wir sind noch am Aufbau der DB.

Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: Thomas Schulte am 05.11.09 - 17:43:47
Krieg ich hier so nicht hin. Ich glaub ich bastel da jetzt mal eine ganz neue Anwendung um das auszuprobieren. Im Moment bin ich immer auf meiner eierlegenden Test Wollmilchsau rumgeritten.
Titel: Re: @iscategory und Farben in Ansichten
Beitrag von: iukhdh am 05.11.09 - 17:56:36
Wir haben in der ersten Spalte
Code
REM {Farbdefinitionen};
schwarz :=  1:1:1;
weiss := 255:255:255;
rot := 255:0:0;
gelb := 255:255:0;
gruen:= 0:255:0;

REM {Festlegen der Farben für die unterschiedlichen Status};
@If (Status = "offen"; rot:schwarz; Status = "erledigt"; gruen:schwarz; Status = "Bearbeitung"; gelb:schwarz; weiss)
in der zweiten Spalte

Code
REM {Farbdefinitionen};
schwarz :=  1:1:1;
weiss := 255:255:255;

REM {Farbfestlegung der Nicht-Kategorien};
weiss:schwarz

Danach kommt die Kategorie