Datumauswahl mit heute vergleichen

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
Benutzeravatar
URH
Beiträge: 36
Registriert: 14.08.2017, 11:37

Datumauswahl mit heute vergleichen

Beitrag von URH » 30.01.2018, 11:42

Hallo,
ich versuche gerade das Filtern von Berichte dahingehend zu erweitern, daß beim Start des Formulars zunächst nur die Berichte von heute angezeigt werden und alle andere (nicht heute) ausgeblendet werden.
Ich habe es so versucht,leider ohne Erfolg.

Code: Alles auswählen

Formular.TB.Buttons.FilterBer::change - (JavaScript, client)

switch(xfa.event.newText)
{
	case "aktuelle Einträge":
		for (var i = 0; i < Bericht.instanceManager.count; i++) 
		{
			xfa.resolveNode("Bericht[" + i + "]").presence = "visible";
			if (xfa.resolveNode("Bericht[" + i + "].Datum").rawValue !== util.printd("yyyy-mm-dd", new Date()) xfa.resolveNode("Bericht[" + i + "]").presence = "hidden";
		}	
	break;
	
	case "alle Einträge":
		for (var i = 0; i < Bericht.instanceManager.count; i++) 
		{
			xfa.resolveNode("Bericht[" + i + "]").presence = "visible";
		}	
	break;
}
xfa.resolveNode("Bericht[" + i + "].Datum").rawValue ist ein Datumfeld, welches in jedem Bericht vorkommt.

"aktuelle Einträge" habe ich in dem Filter als Standardwert gesetzt.

Ideal wäre, daß bei Starten des Formulars nur die tagesaktuellen Einträge angezeigt werden, beim ersten Start ohne Einträge von heute müßte das leere Formular angezeigt werden.

Grüße, Uwe

Benutzeravatar
radzmar
Beiträge: 961
Registriert: 26.10.2011, 10:18

Datumauswahl mit heute vergleichen

Beitrag von radzmar » 01.02.2018, 21:00

Du bist ja schon nah dran, nutzt aber das falsche Ereignis als Auslöser.

Versuch’s mal so:

Code: Alles auswählen

Formular.TB.Buttons.FilterBer::exit - (JavaScript, client)
var cSelect = this.rawValue,
	oSubforms = xfa.resolveNodes("Bericht[*]"),
	cDate = util.printd("dd.mm.yyyy", new Date());
	
for (var i = 0; i < oSubforms.length; i += 1) {
	oSubforms.item(i).presence = cSelect === "alle" ? "visible" : oSubforms.item(i).Datum.formattedValue === cDate ? "visible" : "hidden";
};

Code: Alles auswählen

Formular.TB.Buttons.FilterBer::docReady - (JavaScript, client)

this.execEvent("exit");
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Re: Datumauswahl mit heute vergleichen

Beitrag von nele_sonntag » 05.04.2018, 10:54

Hallo URH,
ist dein Problem gelöst?
Rückmeldungen sind immer erwünscht und zeugt auch vom Respekt dem ggü., der sich die Zeit nimmt, um zu helfen!!
Außerdem ist es natürlich für andere Suchende aufschlussreich.
LG Mandy

Benutzeravatar
URH
Beiträge: 36
Registriert: 14.08.2017, 11:37

Re: Datumauswahl mit heute vergleichen

Beitrag von URH » 21.06.2018, 06:53

Hallo,
Besser spät als nie möchte ich an der Stelle Danke für die Hilfe und Lösungsvorschläge sagen.
In der aktuellen Version ist zwar nicht alles umgesetzt, da es letztlich von den "Kollegen" doch nicht gebraucht oder angenommen wurde.
Schade eigentlich, dennoch ist es ja nicht verloren und kann bestimmt auch nochmal an anderer Stelle Verwendung finden oder einem anderen Suchenden hier weiterhelfen.
LG, Uwe

Antworten