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: 927
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. Bitte logge dich ein oder registriere einen Account.

    Benutzeravatar
    nele_sonntag
    Beiträge: 2730
    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

    Antworten