0 votes
in General by

Hallo zusammen,
ich habe mich gerade heute registsriert um den Formcycler mal zu testen. Erstes Problem: Ich habe ein Auswahlfeld/Pulldown angelegt. Als Datenquelle habe ich eine Zuvor importiert Exceltabelle ausgewählt. Nun möchte ich aber nicht jeden Wert aus einer bestimmten spalte anzeigen, sondern jeweils nur einmal. Bei SQL wäre das ein SELECT-DISTINCT. Geht so etwas auch mit dem Formcycler?
Vielen Dank und viele Grüße
Luis

1 Answer

0 votes
by

Wie Sie bereits erkannt haben, kann man über CSV Datensätze keine Filterabfrage wie bei einer Datenbank hinterlegen. Eine Möglichkeit wäre die Liste z.B. mit Excel vorher zu filtern und nur die tatsächlich gewünschten Datensätze zu importieren.
Eine Alternative ist die Verwendung einer kleinen JavaScript Funktion zum Filtern der Duplikate. Hier bietet der Formulardesigner an, JavaScript zu ergänzen, um nutzerspezifische Anpassung vorzunehmen wenn die Konfigurierbarkeit der Elemente nicht mehr ausreicht.
Den Script-Bereich können Sie über den kleinen blauen Pfeil im Fußbereich des Designers öffnen ( https://help.formcycle.eu/xwiki/bin/view/Formcycle/FormDesigner/CodingPanel/ScriptTab/ (https://help.formcycle.eu/xwiki/bin/view/Formcycle/FormDesigner/CodingPanel/ScriptTab/" target="_blank" rel="noopener))
Die folgende Hilfsfunktion fügt die Filtermöglichkeit hinzu.

$.fn.removeDoubleOpts = function(){
var doubleOpts = {};
$('option', this).each(function(idx, el){
var option = $(el)
if (doubleOpts.hasOwnProperty(option.text())){
option.remove()
} else {
doubleOpts[option.text()] = option;
}
});
}
Der aufruf der Funktio erfolgt dann wie folgt (wobei sel1 und sel3 die namen der Elemente sind bei denen der Filter angewendet werden soll)
$('[name="sel1"]').removeDoubleOpts();
$('[name="sel3"]').removeDoubleOpts();
Impressum | Datenschutz
...