Das ist der zweite Teil der Serie „Domino Datasources On-the-Fly“. Der erste Teil findet sich hier.
Views lassen sich ebenfalls programmatisch erstellen, allerdings muss mindestens der Name der Ansicht angegeben sein (und ausserdem muss die Ansicht existieren):
var data = new com.ibm.xsp.model.domino.DominoViewData();
data.setVar("view1");
data.setViewName("All");
view.addData(data);
Hier eine Beispiel-Implementierung in eine XPage (in der Datenbank muss die Ansicht „All“ vorhanden sein) :
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:button value="Create Datasource" id="button1">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="label1">
<xp:this.action>
<![CDATA[#{javascript:
var data = new com.ibm.xsp.model.domino.DominoViewData();
data.setVar("view1");
data.setViewName("All");
view.addData(data);
}]]>
</xp:this.action>
</xp:eventHandler>
</xp:button>
<xp:label id="label1">
<xp:this.value><![CDATA[#{javascript:
try{
view1.getName();
}catch(e){e}
}]]>
</xp:this.value>
</xp:label>
</xp:view>
Folgende Eigenschaften können bei einem DominoViewData-Objekt gesetzt werden (Stand 8.5.3):
- setParentId(String)
- setSearchList(String)
- setDatabaseName(String)
- setVar(String)
- setSearch(String)
- setExpandLevel(int)
- setSearchExactMatch(boolean)
- setViewName(String)
- setSortOrder(String)
- setRequestParamPrefix(String)
- setSortColumn(String)
- setKeys(String)
- setScope(String)
- setStartKeys(String)
- setSearchVariants(boolean)
- setCategoryFilter(String)
- setSearchMaxDocs(int)
- setDataCache(String)
- setKeysExactMatch(String)
- setIgnoreRequestParams(boolean)
- setSearchFuzzy(boolean)
Eine vollständige Liste findet sich hier.
Im nächsten Teil werden die Eigenschaften des DominoDataDocument-Objekts vorgestellt. wird das ValueBinding und das MethodBinding vorgestellt.
Pingback: Domino Datasources On-the-Fly (1): Basics | blog@hasselba.ch