Ich möchte typeAhead-Funktionalität in einer inputBox verwenden. Werte sollten nur die erste kategorisierte Spalte (Spalte [0]) erhalten; Weil ich so viele Dokumente zum selben Kunden habe. Ich brauche nur Kundennamen als einzigartig. Hier finden Sie, was ich bisher versucht habe. In dieser Ansicht wird nur die erste Spalte kategorisiert. Andere sind nicht. Ich glaube, ich etwas vermissen :(Abrufen von Werten aus der ersten kategorisierten Ansichtsspalte in typeAhead in XPages
<xp:inputText id="inpCustomer" value="#{document1.CustomerName}">
<xp:typeAhead mode="partial" minChars="2" ignoreCase="true" var="lupkey" valueMarkup="true" id="typeAhead1">
<xp:this.valueList><![CDATA[#{javascript:try
{
var procedureName = "fonck1";
var searchOutput:Array = [];
var v:NotesView = database.getView("(ctgViewName)");
var nav:NotesViewNavigator = v.createViewNavFromCategory(lupkey);
var viewEnt:NotesViewEntry = nav.getFirstDocument();
var tmp:NotesViewEntry;
while (viewEnt !== null)
{
searchOutput.push(entry.getColumnValues()[0]);
tmp = viewEnt;
viewEnt = nav.getNextCategory();
tmp.recycle();
}
var result ="<ul><li><span class='informal'></span></li>";
var limit = Math.min(hits,200);
for (j=0; j<limit; j++)
{
var name = searchOutput[j].toString();
var start = name.indexOfIgnoreCase(lupkey)
var stop = start + lupkey.length;
name = name.insert("</b>",stop).insert("<b>",start);
result += "<li>" + name + "</li>";
}
result += "</ul>";
return result;
}
catch(e)
{
print(e.toString());
throw(e);
}}]]></xp:this.valueList>
</xp:typeAhead>
<xp:this.attrs>
<xp:attr name="placeholder" value="Please enter customer name..." />
</xp:this.attrs>
</xp:inputText>