[Gelöst] Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 14:47

Hallo allerseits,

ich bin heute völlig neben der Spur (...schon aufgeregt wegen morgen) und sitze seit geraumer Zeit an dieser Kleinigkeit und habe wirklich versucht es mit aller Macht selbst hinzubekommen...bin aber kläglich gescheitert.

ich möchte nur folgendes:

Wenn ich in der Angebots-Subform neben der Artikelnummer eine check Box aktiviere soll die Beschreibung dieser einen Zeile rot werden...
Muss ich das Boolean feld schon in der Tabelle anlegen? Bei dem Versuch das zu umgehen, hat er er nach dem Setzen des Hakens in einer Zeile diesen in jeder Zeile gesetzt. Wenn ich das Feld in der Tabelle
anlege, dann wird es nach Aktivierung direkt wieder deaktiviert... weil "ein anderer Anwender den Datensatz geändert hat"...

Vielen Dank schonmal!
regards
Thomas
Zuletzt geändert von tommygunse am 22. Juni 2010 16:52, insgesamt 1-mal geändert.

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 14:56

Du brauchst das Feld schon in der Tabelle, da ja wahrscheinlich möchtest, dass die einmal gefärbte Beschreibung eines bestimmten Datensatzes immer gefärbt bleibt, oder?
Ich würde auf der Form bei dem Checkbox-Feld OnAfterValidate ein
Code:
CurrForm.SAVERECORD;
absetzen.
Die Einfärbung wird im Beschreibungsfeld im OnFormat-Trigger als Quelltext realisiert.

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 15:01

Das Boolean-Feld muss in die Tabelle. Der Code setzt die Farbe:
Code:
IF MyBoolField THEN
  CurrForm.MyField.UPDATEFORECOLOR(16711935)
ELSE
  CurrForm.MyField.UPDATEFORECOLOR(16127101);
END;


Das musst du für JEDES Feld machen, welches gefärbt werden soll. Die Farbe kann nur im OnFormat-Trigger geändert werden!

Zu der Sache mit dem anderen Anwender: Da musst du einen Fehler gemacht haben, denn wenn das Feld in der Tabelle ist und die Source-Property darauf zeigt, kann das nicht das Problem sein.

Wegen was denn so aufgeregt?

Gruß,
Sebastian

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 15:21

Natalie hat geschrieben:Ich würde auf der Form bei dem Checkbox-Feld OnAfterValidate ein
Code: Alles auswählen
CurrForm.SAVERECORD;absetzen.

Muss eigentlich nicht sein, das steht ja im rec und wird später gespeichert ...

Sebastian Pfliegel hat geschrieben:Das Boolean-Feld muss in die Tabelle.

Aber nur, wenn die Einstellung gespeichert werden soll.

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 15:22

McClane hat geschrieben:Muss eigentlich nicht sein, das steht ja im rec und wird später gespeichert ...

Wenn aber die Färbung sofort nach Anklicken der Checkbox statt finden soll und nicht erst beim Verlassen des Datensatzes ... ;-)
Zumindest wollte ich das damit bezwecken - ungetestet.

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 15:25

Natalie hat geschrieben:Wenn aber die Färbung sofort nach Anklicken der Checkbox statt finden soll und nicht erst beim Verlassen des Datensatzes ...
Klappt auch so, glaube ich. rec ist rec :wink:

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 15:28

McClane hat geschrieben:
Natalie hat geschrieben:Wenn aber die Färbung sofort nach Anklicken der Checkbox statt finden soll und nicht erst beim Verlassen des Datensatzes ...
Klappt auch so, glaube ich. rec ist rec :wink:

Und der OnFormat-Trigger wird immer wann genau aufgerufen?

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 15:31

Das geht ohne Update oder sonstwas. Also läuft der OnFormat anscheinend nach dem Klick in die Checkbox. Mal sehen, ob ich das noch irgendwo finde ...

edit: Gefunden. Sowohl als Feld als auch als globale Variable klappt das einfach so beim Klick. Was mich nun etwas verwirrt :-)

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 15:45

Natalie hat geschrieben:
McClane hat geschrieben:
Natalie hat geschrieben:Wenn aber die Färbung sofort nach Anklicken der Checkbox statt finden soll und nicht erst beim Verlassen des Datensatzes ...
Klappt auch so, glaube ich. rec ist rec :wink:

Und der OnFormat-Trigger wird immer wann genau aufgerufen?


C/SIDE Reference Guide hat geschrieben:The formatting instructions you enter in this trigger, via C/AL code, affect only what the user sees on screen. The code you place in this trigger does not affect how the system stores the data.

This is the first trigger the system executes when a user highlights the control to enter data. The system then executes the OnBeforeInput trigger.

The system calls this trigger after it performs the default formatting of the control. The TextString parameter contains the default formatting.

If there is an error in the C/AL code you enter into this trigger, the system closes the form.

You cannot use this trigger to write to the database.

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 15:47

@ Sebastian: Worauf willst du hinaus?

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 15:49

Danke, die Hilfe hatte ich auch schon aufgerufen, aber sie beantwortet nicht meine Frage ;-)
Sie gilt dann als beantwortet, wenn Thomas uns endlich verrät, ob etwas davon funktioniert hat :mrgreen:

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 15:49

Ja Wahnsinn.... zwei Minuten telefoniert und ab geht die Post.

Ich habe jetzt in der Tabelle ein Boolean Feld erstellt und dieses in der Angebotskarte hinzugefügt...
Dann im OnFormat von der Beschreibung die Geschichte wenn Haken dann Farbe bitte rot!
Achja... die CurrForm.SAVERECORD Geschichte habe ich so wie von Natalie vorgeschlagen eingebaut...


Sobald ich aber den Haken setze kommt die Fehlermeldung mit dem Anwender...

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 15:57

tommygunse hat geschrieben:Dann im OnFormat von der Beschreibung die Geschichte wenn Haken dann Farbe bitte rot!

Zeig mal bitte den Quelltext.

Achja... die CurrForm.SAVERECORD Geschichte habe ich so wie von Natalie vorgeschlagen eingebaut...

Sobald ich aber den Haken setze kommt die Fehlermeldung mit dem Anwender...

Und wenn du meinen Vorschlag zurücknimmst? :roll:

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 16:15

Natalie hat geschrieben:Zeig mal bitte den Quelltext.

IF "Dummy Item" THEN CurrForm.Description.UPDATEFORECOLOR(255);

Natalie hat geschrieben:Und wenn du meinen Vorschlag zurücknimmst? :roll:

Dann setzt er den Haken wenigstens und färbt Beschreibung rot...aber beim Verlassen der Zeile ist der Haken wieder raus....

:-)

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 16:19

tommygunse hat geschrieben:IF "Dummy Item" THEN CurrForm.Description.UPDATEFORECOLOR(255);

Kein ELSE?

Dann setzt er den Haken wenigstens und färbt Beschreibung rot...aber beim Verlassen der Zeile ist der Haken wieder raus....

Das gibts nicht ... da muss doch noch irgendwo eine Programmierung sein ... Steht vielleicht im OnModify (Form und Tabelle) etwas drin?
Hast du auf der Tabelle etwas für Feld "Dummy Item" etwas programmiert?

Ah! Könnte es vielleicht sein, dass du aus deinen vorherigen Versuchen heraus noch eine Variable namens "Dummy Item" verwendest? Wenn ja, lösch diese unbedingt.

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 16:22

Ich habe das grad mal im Cronus nachgebaut, und das klappt inkl. Speichern und ohne Else-Zweig im OnFormat (das Feld wird eben einfach wieder normal formatiert). Wäre ja auch noch schöner, wenn er einen Feldwert beim Verlassen einer Zeile vergisst.

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 16:26

McClane hat geschrieben:Ich habe das grad mal im Cronus nachgebaut, und das klappt inkl. Speichern und ohne Else-Zweig im OnFormat (das Feld wird eben einfach wieder normal formatiert). Wäre ja auch noch schöner, wenn er einen Feldwert beim Verlassen einer Zeile vergisst.

Der ELSE-Zweig ist für den Fall gedacht, dass man den Haken wieder entfernt - soll ja dann nicht rot bleiben.

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 16:27

Natalie hat geschrieben:Der ELSE-Zweig ist für den Fall gedacht, dass man den Haken wieder entfernt - soll ja dann nicht rot bleiben.
Schon klar. Aber da er neu formatiert, und eben nicht rot, wird es Standard-schwarz.

Re: Farbe der Beschreibung durch Check Box ändern

22. Juni 2010 16:51

Oh je...

ich habe keine Ahnung wieso, aber jetzt klappt es!
Benutze auch kein CurrReport.SAVERECORD...

einfach nur Tabellenfeld und in der Beschreibung den kleinen If Satz...

Ich glaube, ich habe wie Natalie schon vermutete irgendwo einen Rest aus meinem Experiment von vorher gehabt... Hatte alles zurückgesetzt und neu getestet und dann gings sofort... :oops:

Wie dem auch sei...Vielen Dank an alle und einen schönen Abend noch!