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