Nur eindeutige Werte in Spalte einer dynamischen Tabelle zulassen

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
mischma
Beiträge: 96
Registriert: 21.11.2012, 21:07

Nur eindeutige Werte in Spalte einer dynamischen Tabelle zulassen

Beitrag von mischma » 08.03.2016, 14:14

Hallo Zusammen,

wie kann ich in einer Tabellenspalte nur eindeutige Einträge zulassen?

So klappt die Validierung leider nicht :-(

Code: Alles auswählen

Debitor.frmProtokoll.tblProtokoll.Zeile1.MobAnlNr::exit - (JavaScript, client)
	
	var sEingabe = this.rawValue;
	var oFields = xfa.resolveNodes("Debitor.frmProtokoll.tblProtokoll.Zeile1.MobAnlNr[*]");
  	  	
  	for (var i = 1 ; i <= oFields.length ; i++)
 	{
   		var sZelle = oFields.item(i).rawValue;
   		
   		if (sEingabe != null && sZelle != null && sEingabe == sZelle)
		{
			xfa.host.messageBox("Fehler");	
		}
   	}
Ich bitte um Eure Hilfe!

Vielen Dank und Grüsse, Mike

mischma
Beiträge: 96
Registriert: 21.11.2012, 21:07

Nur eindeutige Werte in Spalte einer dynamischen Tabelle zulassen

Beitrag von mischma » 09.03.2016, 12:57

Hallo,

hat sich erledigt :D

Code: Alles auswählen

Debitor.frmProtokoll.tblProtokoll.Zeile1.MobAnlNr::exit - (JavaScript, client)
	
	var sEingabe = this.rawValue; 				// Eingabewert
	var iRowIndex = this.parent.index; 			// Zeilenindex
	var vCount = tblProtokoll._Zeile1.count;	// Zeilenanzahl
  	var sZelle = "";
   
 	// Alle Zeilen durchlaufen
 	for (var i = 0 ; i <= vCount -1 ; i += 1) 
 	{
 		// Zellwert [MobAnlNr] ermitteln
 		sZelle = xfa.resolveNode("tblProtokoll.Zeile1[" + i + "]").MobAnlNr.rawValue;
 		
 		// prüfen, ob Eingabewert bereits in Spalte [MobAnlNr] vorhanden ist          		
 		if (iRowIndex != i && sEingabe != null && sZelle != null && sEingabe == sZelle)
		{
			// Eingabefeld leeren
			this.rawValue = null;
			
			// Meldung ausgeben
			xfa.host.messageBox("Die Anlagennummer '" + sEingabe + "' existiert bereits in Zeile " + (i +1), "Nur eindeutige Anlagennummern möglich!");
			
			// Fokus zurück auf das Eingabefeld
			xfa.host.setFocus(this);		
		}
 	}
Grüsse, Mike

Antworten