Hallo!
Vielen, vielen dank für die Hilfe das ganze funktioniert ganz gut nur habe ich noch ein Problem an dem ich gerade total verzweifle.
In meiner view habe ich 4 Spalten:
1.) Sortiert - Sprache (ist ein kürzel entweder DE oder EN)
2.) Sortiert - Funktion (hier steht 1 Wort, z.B. Hausmeister)
3.) Sortiert - Land (hier steht 1 Wort, z.B. Deutschland)
3.) Sortiert - Stadt (hier steht 1 Wort, z.B. Berlin)
Ich bekomme per parameter nun bis zu 4 Keys, entsprechend den Werten der 4 Spalten. Den Key für Sprache bekomme ich immer, da ich nach der browsersprache abfrage, falls ich die nicht ermittel kann, fallback auf DE. Die anderen 3 Werte sind optional, sprich mal bekomme ich die Wert für Funktion und Land, mal nur für Stadt usw..
Mein Problem ist wenn jemand z.B. nur einen wert für "Land" angibt bleibt der Key für "Funktion" leer. Nun sucht er mit den ersten Key ja nach der Sprache in der Spalte 1, sagen wir der Key hat den Wert "DE" - von 20 Einträgen findet er 10. Nun sucht die Suche mit den 2 Key (Funktion) nach nichts und findet nichts - also gibt er nichts zurück - 0 Einträge. Die Suche nach Land und Sadt ist nun eigentlich egal da 0 Einträge....
Ich habe in meinen Spalten schon die Werte per formel so angepasst:
x123-WERT - damit wenn ein Key leer ist wenigsten immer nach x123- gesucht wird. aber das bringt auch nichts.
Was mache ich falsch?
var key:java.util.Vector = new java.util.Vector();
key.add("DE"); // Key für 1. Spalte
key.add(""); // Key für 2. Spalte
key.add("Deutschland"); // Key für 3. Spalte
key.add(""); // Key für 4. Spalte
var luView:NotesView = database.getView("Lookup"); // View, in der gesucht werden soll
var ec:NotesViewEntryCollection = luView.getAllEntriesByKey( key );
var entry:NotesViewEntry = ec.getFirstEntry();
var tmpEntry:NotesViewEntry;
var data:java.util.Vector = new java.util.Vector(); // hier kommen die Daten rein
while( entry != null ){
data.add( entry.getColumnValues().get(2) ); // wenn die Werte in der dritten Spalte stehen (beginnt bei 0)
tmpEntry = entry;
entry = ec.getNextEntry();
tmpEntry.recycle();
}
ec.recycle();
luView.recycle();
return data;