Archiv des Intrexx Live! Forums

Hier sehen Sie die Foreneinträge aus dem Intrexx Live! Forum. Bis November 2016 war es das Forum für alle Fragen rund um die Software Intrexx von United Planet.
Seit November 2016 gibt es ein neues moderiertes Forum, das Intrexx Community Forum. Nutzen Sie bitte unbedingt dieses für aktuelle Fragen, Antworten und Informationen.

Wichtig: Dieses Forum dient als Archiv. Die Einträge beziehen sich oft auf ältere Versionen von Intrexx und entsprechen nicht mehr den aktuellen technischen Gegebenheiten.
Daher sollten alle Inhalte ausschließlich von Experten genutzt werden. Bei unsachgemäßer Anwendung kann es zu zeitaufwändigen Problemen oder Datenverlust kommen.
Übersicht > Intrexx Compact: Compact Intrexx > Datumsfilter auf aktuelles Datum voreinstellen

Datumsfilter auf aktuelles Datum voreinstellen

Hallo zusammen!

Gibt es eine einfache Möglichkeit, beim öffnen einer Seite einer Applikation einen Datumsfilter (Kalender) auf einen bestimmten Wert (aktuelles Datum) voreinzustellen?

Danach soll eine individuelle Filtererung möglich sein.

Bei Eingabefeldern geht dies ja. Gibt es diese Möglichkeit auch für einen Datumsfilter?

benutzte Version Intrexx 6.0
28.04.2014 10:39 von tgi
Hallo tgi,

spontan fällt mir da nur ein, dass nicht anhand des Kalenderfilter-Elements festzumachen sondern anhand der Abhängigkeit deiner Tabelle.
Wenn du alle Datensätze für "Heute" ausgeben möchtest muss nicht nur das Datum sondern auch der gesamte Zeitraum definiert werden. Der Tag beginnt um 00:00:00 und endet mit 23:59:59.

Erzeuge eine neue Abhängigkeit in der du zunächst das Onload Ereignis deiner Seite einträgst.
Als Systemwert wählst du "Heute (mit Uhrzeit)" aus und anschließend in die Anpassungsfelder die Zahlenwerte eintragen. Die Anpassungsfelder für Tag, Monat und Jahr bleiben leer.
So erstellst du in deinem Onload-Event also eine UND Verknüpfung in der du deine Datenmenge nach "Datum < Heute(mit Uhrzeit) UND Datum >= Heute (mit Uhrzeit" filterst.
Wobei bei dem "kleiner als" natürlich +1 Tag einzutragen ist, als Anpassung.

WENN (Datum >= "Heute 00:00:00") UND (Datum < "Heute + 1 Tag 00:00:00") DANN Anzeigen


Jetzt kannst du eine neue Abhängigkeit eintragen, in der du mit deinem Calendar Navigator Element das "onchange" Event auslöst und so die erste Abhängigkeit wieder auflösen kannst.
Wie du die Filterung dort gestaltest bleibt deine Aufgabe attention

Grüße,
Arne
28.05.2014 09:49 von Arne
Aus den Tiefen von JavaScript:


var dtNow = new Date();
var dtNextWeek = new Date();
dtNextWeek.setDate(dtNow.getDate()+7);
getElement("6EDE...F859").oUp.changeDateFrom(dtNow);
getElement("6EDE...F859").oUp.changeDateTo(dtNextWeek);
getElement("6EDE...F859").oUp.onChange();


Das kann dann bspw. in einer Funktion im onload einer Seite untergebracht werden.
Ob es evtl. einen schöneren Weg gibt weis ich jetzt aber leider nicht.
28.05.2014 10:24 von MartinW
Vielen Dank für die Vorschläge, ich werde das mal probieren u. dann Feedback geben!
04.06.2014 11:47 von tgi
Hallo!

Das mit dem Javascript hat soweit schon sehr gut funktioniert, vielen Dank!

Jetzt habe ich noch das Problem, dass beim aktuellen Tag immer auch die aktuelle Uhrzeit mitgeliefert wird.

Wenn ich das als Filter verwende, bekomme ich keine Ergebnisse.

Ich müsste bei der Datumsformatierung die Uhrzeit irgendwie festlegen können.

Mit folgendem Code funktioniert es nicht.

Weiß jemand, wo der Fehler liegt?




var dtNow = new Date();
var dtFrom = new Date(dtNow.getYear, dtNow.getMonth, dtNow.getDay, 0, 0, 0);
var dtTo = new Date(dtNow.getYear, dtNow.getMonth, dtNow.getDay, 23, 59, 0);
getElement("115E74BEC18BAFBE379DCBAEE1C9B7723FE4FEE8").oUp.changeDateFrom(dtFrom);
getElement("115E74BEC18BAFBE379DCBAEE1C9B7723FE4FEE8").oUp.changeDateTo(dtTo);
getElement("115E74BEC18BAFBE379DCBAEE1C9B7723FE4FEE8").oUp.onChange();

05.06.2014 07:57 von tgi
Ohne das zu testen:

Hier kann man sich die Date-Klasse genauer anschauen: http://www.w3schools.com/jsref/jsref_obj_date.asp

Laut dieser Seite muss man dem Konstruktor noch Millisekunden übergeben, also vermutlich einfach einen parameter mit 0 oder ienem beliebigen anderen Wert übergeben.

Rein theoretisch werden Einträge für 23:59:59 aktuell auch nicht angezeigt.
05.06.2014 09:08 von MartinW
ok, danke noch einmal an MartinW für die Hilfe, ich habe es jetzt hinbekommen.

mit dieser Funktion funktioniert es mit JavaScript,

beim Laden einer Ansichtsseite einen Kalenderfilter auf ein bestimmtes Datum (z.B. aktuelles) voreinzustellen. Danach kann der Filter wieder beliebig verändert werden.

function Voreinstellung_Kalenderfilter(){
var dtFrom = new Date(); //aktuelles Datum + Uhrzeit
dtFrom.setDate(dtFrom.getDate());
dtFrom.setHours(0); //Datum bleibt gleich, Uhrzeit wird auf 00:00:00 gesetzt
dtFrom.setMinutes(0);
dtFrom.setSeconds(0);
dtFrom.setMilliseconds(0);
var dtTo = new Date();
dtTo.setDate(dtFrom.getDate());
dtTo.setHours(23); //Datum wie Date From, Uhrzeit wird auf 23:59:59 gesetzt
dtTo.setMinutes(59);
dtTo.setSeconds(59);
dtTo.setMilliseconds(0);
getElement("F22FE4A318831CCB5583279F3F614CAB2237067D").oUp.changeDateFrom(dtFrom);
getElement("F22FE4A318831CCB5583279F3F614CAB2237067D").oUp.changeDateTo(dtTo);
getElement("F22FE4A318831CCB5583279F3F614CAB2237067D").oUp.onChange();
return true;
}

06.06.2014 09:03 von tgi
Zurück | Alles über Intrexx | Impressum | Datenschutzerklärung

Über United Planet
© 2019 United Planet GmbH
Schnewlinstraße 2
79098 Freiburg