Dynamische Tabelle Zeilen ausblenden

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
C3PO
Beiträge: 11
Registriert: 05.11.2009, 09:23

Dynamische Tabelle Zeilen ausblenden

Beitrag von C3PO » 05.11.2009, 12:12

Hallo,

ich versuche bei einer dynamischen Tabelle (also man kann Zeilen hinzufügen und auch wieder entfernen) eine Filterfunktion mittels Dropdown-Liste zu kreiren. In der Dropdown Liste soll quasi ein Wert eingestellt werden können und mit der ersten Spalte verglichen werden. Alle nicht zutreffenden Werte sollen augeblendet werden.

folgendes Script hatte ich erfolglos mit dem exit event der DD-Liste probiert:

Code: Alles auswählen

var max = Tabelle.Daten.instanceManager.count;

for (var i=0; i<max; i++){

if (Tabelle.Daten[i].Feld1.rawValue == this.rawValue)
Tabelle.Daten[i].presence = "visible";
else Tabelle.Daten[i].presence = "hidden";

}
Dabei stört sich das Script wohl an dem denn ohne dem wird zumindest die erste Zeile ein-/ausgeblendet.

Ich steh da irgendwie auf der Leitung.

Kann mit da jemand weiterhelfen?

THX a lot.

Gruß
Andreas

C3PO
Beiträge: 11
Registriert: 05.11.2009, 09:23

Dynamische Tabelle Zeilen ausblenden

Beitrag von C3PO » 17.11.2009, 17:05

Halleluja ich hab es ;-)
Und lass euch natürlich auch an meinen Erkenntnissen teilhaben.

Code: Alles auswählen

var max = Formblatt012.Tabelle.Tabelle1._Daten.count; 

for (var i = 0; i < max; i++)
{
//Alles sichtbar machen
if (this.rawValue == "13") 
xfa.resolveNode("Formblatt012.Tabelle.Tabelle1.Daten[" + i + "]").presence = "visible";
else
{
//Nicht Zutreffendes ausblenden.
var comp = xfa.resolveNode("Formblatt012.Tabelle.Tabelle1.Daten[" + i + "].B1.Bearb1").rawValue;

if (this.rawValue == comp)

xfa.resolveNode("Formblatt012.Tabelle.Tabelle1.Daten[" + i + "]").presence = "visible";

else 

xfa.resolveNode("Formblatt012.Tabelle.Tabelle1.Daten[" + i + "]").presence = "hidden";
}
}

Benutzeravatar
FileAffairs
Beiträge: 372
Registriert: 15.09.2008, 20:14

Dynamische Tabelle Zeilen ausblenden

Beitrag von FileAffairs » 18.11.2009, 10:51

Hallo C3PO,

noch ein alternativer Ansatz. Du könntest mit xfa.resolveNodes (beachte das s am Ende) alle Knoten zurückerhalten und würdest Dann über die gesamte Liste iterieren also ala

Code: Alles auswählen

var oNodes = xfa.resolveNodes("Formblatt012.Tabelle.Tabelle1.Daten[*]")
for (var i=0;i<oNodes.length;i++) {
  ... code
}
Lieben Gruß

FileAffairs

Dilaver
Beiträge: 25
Registriert: 27.08.2008, 22:15

Dynamische Tabelle Zeilen ausblenden

Beitrag von Dilaver » 07.03.2010, 19:45

Vielen Danke.. werde mal versuchen, es umzusetzen...

Antworten