You are not logged in.

1

Tuesday, October 2nd 2007, 10:29am

Ampel in Tabelle darstellen

Hallo,

ich möchte in einer Tabelle eine neue Spalte erstellt haben, in der ich in Abhängigkeit von bestimmten Datensätzen (besonders wichtig dabei ist das aktuelle Datum) durch Javascript in dieser Spalte die Farben rot, grün oder gelb anzeigen lassen kann. (ich benutze die normale Ansichtstabelle)
Nur mir ist leider nicht klar, wie ich
1) eine neue Spalte in der Tabelle anlegen kann, die nicht aus das Datenbank stammt, da ich bisher nur meine Datensätze aus meiner Datenbank als Spalte wählen kann.
2)wie ich javascript in der Tabelle benutzen kann um die Tabelle anhand des aktuellen Datum permanent aktualisiert zu bekommen (sobald ein Datum überschritten wird soll sich die Farbe der Spalte in der jeweiligen Zeile ändern)

Ist das so wie ich mir das vorstelle zu realisieren möglich? Falls ja gibt mir bitte Hinweise wie ich die Ampel umsetzen kann, denn weder das Handbuch noch sonst irgendwas konnte mir bisher helfen. Wenn jemand andere Vorschläge hat, wie ich die Ampel realisieren kann nehme ich die Ratschläge gerne an!

Schonmal vielen Dank für eure Antworten!
JCDenton

crr

Unregistered

2

Friday, October 5th 2007, 11:19am

RE: Ampel in Tabelle darstellen

Quoted

JCDenton %WROTESAT% 05.10.2007 11:19:59 %FOLLOWINGTEXT%:
Hallo,

ich möchte in einer Tabelle eine neue Spalte erstellt haben, in der ich in Abhängigkeit von bestimmten Datensätzen (besonders wichtig dabei ist das aktuelle Datum) durch Javascript in dieser Spalte die Farben rot, grün oder gelb anzeigen lassen kann. (ich benutze die normale Ansichtstabelle)
Nur mir ist leider nicht klar, wie ich
1) eine neue Spalte in der Tabelle anlegen kann, die nicht aus das Datenbank stammt, da ich bisher nur meine Datensätze aus meiner Datenbank als Spalte wählen kann.
2)wie ich javascript in der Tabelle benutzen kann um die Tabelle anhand des aktuellen Datum permanent aktualisiert zu bekommen (sobald ein Datum überschritten wird soll sich die Farbe der Spalte in der jeweiligen Zeile ändern)

Ist das so wie ich mir das vorstelle zu realisieren möglich? Falls ja gibt mir bitte Hinweise wie ich die Ampel umsetzen kann, denn weder das Handbuch noch sonst irgendwas konnte mir bisher helfen. Wenn jemand andere Vorschläge hat, wie ich die Ampel realisieren kann nehme ich die Ratschläge gerne an!

Schonmal vielen Dank für eure Antworten!
JCDenton








Hallo,

ich habe dein Problem zwr noch nicht ganz genau verstanden aber ich versuche es mal auf zu dröseln und dir zu helfen.

Erstmal ein Frage: was soll die Farbe in der Tabelle erreichen?

1.) Lege mal ne neue Datengruppe an mit Namen "Priorität". In der Datengruppe hast du dann "PrioID" (int), "Prio"(shortt), "Bild".
2.) Pflege in die Datengruppe verschiede Prios ein und suche dir als Bilder Faberen aus (Intrexx hat solche Farbkugeln im Speicher)
3.) Diese bindest du als Referenz in deine vorhandene DG ein.
4.) durch den ProzessManager kannst du nun die Priorität anhand des Datum und der "PrioID" automatisch umsetzen
5.) Füge in der Tabelle das Bild ein...

Ich hoffe du kannst mit dem Plan was anfangen, ganz ohne Java rein mit Standartmitteln :-)

Carsten



Dominik

Master

Posts: 524

Location: Zürich

  • Send private message

3

Monday, October 8th 2007, 11:07am

RE: RE: Ampel in Tabelle darstellen

Das mit dem einfärben sollte nicht so ne Sache sein...

Ich würde mal die inking-Funktion nutzen, gibt Beispiele im "Applikationsenticklung mit Intrexx". Oder hier: http://www.intrexx.de/forum/msgboard.asp?Action=ShowTopic&Target=17698
<-- Who ate this?
A bird doesn't sing because it has an answer... It sings because it has a song. Maya Angelou

4

Thursday, October 18th 2007, 10:50am

RE: RE: Ampel in Tabelle darstellen

Quoted

crr schrieb am 18.10.2007 10:50:35 folgenden Text:



Hallo,

ich habe dein Problem zwr noch nicht ganz genau verstanden aber ich versuche es mal auf zu dröseln und dir zu helfen.

Erstmal ein Frage: was soll die Farbe in der Tabelle erreichen?

1.) Lege mal ne neue Datengruppe an mit Namen "Priorität". In der Datengruppe hast du dann "PrioID" (int), "Prio"(shortt), "Bild".
2.) Pflege in die Datengruppe verschiede Prios ein und suche dir als Bilder Faberen aus (Intrexx hat solche Farbkugeln im Speicher)
3.) Diese bindest du als Referenz in deine vorhandene DG ein.
4.) durch den ProzessManager kannst du nun die Priorität anhand des Datum und der "PrioID" automatisch umsetzen
5.) Füge in der Tabelle das Bild ein...

Ich hoffe du kannst mit dem Plan was anfangen, ganz ohne Java rein mit Standartmitteln :-)

Carsten










Schonmal vielen dank für deine Antwort! Sieht schon sehr danach aus was ich benötige!

Leider gibt es bei den ersten zwei Punkten allerdings einige Fragen:
1) Was für ein Datentyp ist denn "Bild"? Eine Datei? Habe einfach mal blind "int gewählt.
2) Den Punkt versteh ich irgendwie gar nicht. Was genau du mit "pflege" meinst: Ein neues Datenfeld wohl kaum, oder?
Und wie ich Farben als Bilder auswählen kann weiß ich leider auch noch nicht....

Schonmal vielen dank für die Hilfe! Es kommt immerhin ein bißchen Licht in die Dunkelheit! ;)

JCDenton

5

Monday, October 29th 2007, 3:38pm

RE: Ampel in Tabelle darstellen

das mit dem einpflegen verstehe ich auch nicht...wo kann ich die Prios denn einfügen? Auf einer eigenen Eingabe-/Ausgabeseite? Im Applikationsdesignerhandbuch steht was über Verknüpfungen mit Ansichts- oder Eingabeelementen. Meinst du sowas?

G.Muench

Master

Posts: 308

Location: Schmalkalden

  • Send private message

6

Monday, November 5th 2007, 1:02pm

RE: Ampel in Tabelle darstellen

Also hier noch mal meine Erklärung dazu

Das mit der JS Funktion Inking (Antwort von Dominik De Bastiani) funktioniert ganz gut. Aber wenn man die Tabelle umsortiert sind die Farben weg. Weil ja das script im Onload der Seite aufgerufen wird.

Ich würde deshalb auch die Variante mit der Referenztabelle bevorzugen. (Antwort von Carsten)

Also

1. Neue Datengruppe anlegen (Priorität)
2. Unterhalb der Datengruppe eine Eingabeseite neu erstellen
3. Folgende Eingabeelemente anlegen:
Eingabefeld (shorttext) für die Bezeichnung der Priorität(z. B. Bezeichnung)
Bildauswahl zum hinzufügen einer Grafik. ( Im intrexxverzeichnis z. B. ...images/assets/bizwalker/findest du geeignete Grafiken error.png ist ein roter Ball) Diese Eingabeseite benutzt du später, um deine Grafiken hinzuzufügen (manche bezeichnen das auch als einpflegen). (z. B. Roter Ball = Termin überschritten, Gelber Ball = in Arbeit; Grüner Ball = Erledigt)
Am besten ist es, wenn du gleich auf dieser Seite noch eine Ansichtstabelle für diese Datengruppe hinzufügst. In dieser solltest du dir noch den Primary Key (PK) (S) anzeigen lassen, damit du siehst, welches Symbol welchem PK zugeordnet ist.
Damit lässt sich der Prozess im Prozessmanger leichter einrichten.

Jetzt erstellst du noch eine neue Referenz in der Ursprünglichen Datengruppe.
Du übernimmst dabei die Felder
"(PK) (S)",
"Bezeichnung"und
"Bild" aus der neuen Datengruppe Priorität.

Die hinzugefügten Referenzen kannst du dir jetzt in deiner Ansichtstabelle der ursprünglichen Daten anzeigen lassen.

Hier steht natürlich noch nichts drin.

Um dieses Referenzen zu füllen musst du einen Prozess erstellen
der auf das Datum in der ursprünglichen Tabelle reagiert und auch darauf, dass ein Datensatz geändert oder neu erstellt wird.


Der Prozess muss so viele Datengruppenaktionen haben, wie verschiedene Stati vorhanden sind. Jede Datengruppenaktion weist in der Zieldatengruppe (ursprüngliche Daten) dem Datenfeld "Referenz PK" die entsprechende Zahl zu, die dem Status entspricht.
(entsprechend der Tabelle für die einzelnen Stati).

Ich hoffe, du kannst mit der Erläuterung was anfangen.

Gruß Gerald

7

Monday, November 12th 2007, 10:58pm

RE: RE: Ampel in Tabelle darstellen

Quoted

G.Muench schrieb am 12.11.2007 22:58:27 folgenden Text:
Also hier noch mal meine Erklärung dazu

Das mit der JS Funktion Inking (Antwort von Dominik De Bastiani) funktioniert ganz gut. Aber wenn man die Tabelle umsortiert sind die Farben weg. Weil ja das script im Onload der Seite aufgerufen wird.

Ich würde deshalb auch die Variante mit der Referenztabelle bevorzugen. (Antwort von Carsten)

Also

1. Neue Datengruppe anlegen (Priorität)
2. Unterhalb der Datengruppe eine Eingabeseite neu erstellen
3. Folgende Eingabeelemente anlegen:
Eingabefeld (shorttext) für die Bezeichnung der Priorität(z. B. Bezeichnung)
Bildauswahl zum hinzufügen einer Grafik. ( Im intrexxverzeichnis z. B. ...images/assets/bizwalker/findest du geeignete Grafiken error.png ist ein roter Ball) Diese Eingabeseite benutzt du später, um deine Grafiken hinzuzufügen (manche bezeichnen das auch als einpflegen). (z. B. Roter Ball = Termin überschritten, Gelber Ball = in Arbeit; Grüner Ball = Erledigt)
Am besten ist es, wenn du gleich auf dieser Seite noch eine Ansichtstabelle für diese Datengruppe hinzufügst. In dieser solltest du dir noch den Primary Key (PK) (S) anzeigen lassen, damit du siehst, welches Symbol welchem PK zugeordnet ist.
Damit lässt sich der Prozess im Prozessmanger leichter einrichten.

Jetzt erstellst du noch eine neue Referenz in der Ursprünglichen Datengruppe.
Du übernimmst dabei die Felder
"(PK) (S)",
"Bezeichnung"und
"Bild" aus der neuen Datengruppe Priorität.

Die hinzugefügten Referenzen kannst du dir jetzt in deiner Ansichtstabelle der ursprünglichen Daten anzeigen lassen.

Hier steht natürlich noch nichts drin.

Um dieses Referenzen zu füllen musst du einen Prozess erstellen
der auf das Datum in der ursprünglichen Tabelle reagiert und auch darauf, dass ein Datensatz geändert oder neu erstellt wird.


Der Prozess muss so viele Datengruppenaktionen haben, wie verschiedene Stati vorhanden sind. Jede Datengruppenaktion weist in der Zieldatengruppe (ursprüngliche Daten) dem Datenfeld "Referenz PK" die entsprechende Zahl zu, die dem Status entspricht.
(entsprechend der Tabelle für die einzelnen Stati).

Ich hoffe, du kannst mit der Erläuterung was anfangen.

Gruß Gerald







Hallo Gerald!

Schonmal vielen Dank für deine Hilfe!

Bei mir sind trotzalledem noch zwei Fragen:
1)Bei dem Erstellen der Refernz steht (PK) (S) nicht zur Auswahl! Soll ich stattdessen etwas anderes wählen( es gibt dort: (S)BenutzerID, (S)Datum, (S)ErstellerID, (S)Erstellungsdatum) oder gar nichts wählen ?

2) Da ich noch nie ein Prozess erstelt habe, bin ich mir nicht sicher, was du mit " so viele Datengruppenaktionen haben, wie verschiedene Stati vorhanden sind" meinst. Ich kann auswählen zwischen "Timeraktion hinzufügen, Auf Datengruppenereignis reagieren, Auf Timerereignis reagieren". Ich vermute, das " Auf Datengruppenereignis reagieren", dass richtige ist, weiß aber nicht ob einfügen, ändern oder löschen korrekt ist.

Ich merke, dass wir der Lösung immer näher kommen! :)
Vielen Dank!

JCDenton

G.Muench

Master

Posts: 308

Location: Schmalkalden

  • Send private message

8

Tuesday, November 13th 2007, 9:01am

RE: Ampel in Tabelle darstellen

Hallo,

Also das mit dem (PK) (S) stimmt so, wie du geschrieben hast.

Als Referenzfeld wählst du einfach das Feld, in dem sich die Grafik befindet. du kannst auch noch das Feld mit der Beschreibung auswählen.
Den Primary Key (PK) (S) fügt Intrexx automatisch als Datenfeld mit ein.
Du kannst das nachprüfen, indem du auf die Datengruppe, in der du die Referenz erstellt hast, klickst (mit rechts) und dir alle Datenfelder anzeigen lässt. Die Referenzfelder sehen nicht gelb aus sondern wie kleine weißblaue Würfel.

Zu den Prozessen:
Welche Art des Prozesses du wählst, hängt davon ab, worauf sich dein Status bezieht. (Datum, Checkfeld, Inhalt eines Datenfeldes...)

Auf jeden Fall musst du eine "Datengruppenereignis, hinzufügen" erstellen, damit beim Anlegen des Datensatzes ein Status zugefügt werden kann.

Als Bedingung wählst du "immer"

Dann Datengruppenaktion, Datensatz ändern,
Dann Zieldatengruppe auswählen (Das ist die DatenGruppe in der die Referenzfelder erstellt wurden)
Bei "Einschränkung" kannst du "einfach Einschränkung" wählen.
Jetzt siehst du zwei Fenster, links die Zieldatengruppe, rechts die Quelldatengruppe. Rechts klickst du auf das grüne Plus
Bei Datentyp wählst du Zahl, die Zahl wählst du entsprechend dem Primary Key des Status, den der Datensatz bei der Neuanlage bekommen soll. (z. B. 1 entspricht gelb).
Die "1" steht jetzt im Rechen Fenster.
Nun musst du nur noch die "1" dem Feld zuordnen in dem Der Primary Key der Referenz steht.

Ich hoffe du kommst jetzt etwas weiter.

Die Darstellung der Farbe soll ja vom Datum abhängig sein. Also im Bezug zum Aktuellen Datum stehen.

Wenn du das mit einem Prozess regeln willst, musst du zunächst eine Timeraktion erstellen. ( z.B. einmal Täglich um 8:00 Uhr vor der Arbeit)
Zu dieser Timeraktion erstellst du ein Timerereignis, welches dann die Daten über einen Filter (z. B. "Datum < Aktuelles Datum -7 Tage") ändert. Die genauen Einstellungen kann ich dir nicht sagen, meine Anwendung reagiert auf Checkfelder, nicht auf Datum.

Gruß Gerald

G.Muench

Master

Posts: 308

Location: Schmalkalden

  • Send private message

9

Tuesday, November 13th 2007, 10:11am

RE: Ampel in Tabelle darstellen

Hallo,

die Verknüpfung mit einem Status bei Neuanlage eines Datensatzes kannst du auch einfacher lösen.
In einer Eingabeseite fügst du ein Eingabefeld hinzu. Das verknüpfst du mit dem PK S Feld der Referenz. Jetzt kannst du das Feld mit der Zahl vorbelegen, die dem 1. Status entspricht. Das Feld kann in einer versteckten Gruppierung platziert werden.

Gruß Gerald

Gasthaus

Unregistered

10

Friday, November 16th 2007, 11:37pm

RE: RE: Ampel in Tabelle darstellen

Hi,

ich möchte kurz an die Lösung von oben mit inking() anknüpfen.

Wenn im Expertreiter der Tabelle das Expertflag onload, funktionsname, text hinterlegt wird, wird inking() auch beim umsortieren etc. funktionieren.

Also, Expertflag:onload, Wert: inking(), Typ: text


Gruss
Gasthaus

11

Saturday, December 29th 2007, 3:05am

RE: Ampel in Tabelle darstellen

Ich habe jetzt die neuste Intrexx Version mit der GUI des Prozessmanagers installiert und eine konkrete Frage:

Wie kann ich z.b. das in die "Bedingungs" Funktion codieren?:

Gesamtlaufzeit 200 Tage (100%)
minus Restlaufzeit 100 Tage (50%)

verbleiben 50 % Sollfertigstellungsgrad

Vom Benutzer wird eingegeben:
Istfertigstellungsgrad 0 bis 40% -> ROT
50 % -> GELB
60 % -> GELB
70 % -> GRÜN
80 % -> GRÜN
90 % -> GRÜN
100 % -> GRÜN

Ist die Bedingung wirklich der Name des jeweiligen Objekts? Wie kann ich denn in diesem Feld mit einem Datum arbeiten? Bzw. wie kann ich mit den verschiedenen Daten (also das jeweilige Datum) rechnen? Muss das alles noch irgendwie getypcastet werden?

Vielen Dank für eure Antworten!

JCDenton