{"id":449,"date":"2011-12-27T17:08:38","date_gmt":"2011-12-27T15:08:38","guid":{"rendered":"http:\/\/hasselba.ch\/blog\/?p=449"},"modified":"2011-12-29T14:34:35","modified_gmt":"2011-12-29T12:34:35","slug":"domino-datasources-on-the-fly-2-dominodataview","status":"publish","type":"post","link":"https:\/\/hasselba.ch\/blog\/?p=449","title":{"rendered":"Domino Datasources On-the-Fly (2): DominoDataView"},"content":{"rendered":"<p><em>Das ist der zweite Teil der Serie &#8222;Domino Datasources On-the-Fly&#8220;. Der erste Teil findet sich <a title=\"Domino Datasources On-the-Fly (1): Basics\" href=\"https:\/\/hasselba.ch\/blog\/?p=442\">hier<\/a>.<\/em><\/p>\n<p>Views lassen sich ebenfalls programmatisch erstellen, allerdings muss mindestens der Name der Ansicht angegeben sein (und ausserdem muss die Ansicht existieren):<\/p>\n<pre>var data = new com.ibm.xsp.model.domino.DominoViewData();\r\ndata.setVar(\"view1\");\r\ndata.setViewName(\"All\");\r\nview.addData(data);<\/pre>\n<p>Hier eine Beispiel-Implementierung in eine XPage (in der Datenbank muss die Ansicht &#8222;All&#8220; vorhanden sein) :<\/p>\n<pre>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\r\n&lt;xp:view xmlns:xp=\"http:\/\/www.ibm.com\/xsp\/core\"&gt;\r\n\r\n&lt;xp:button value=\"Create Datasource\" id=\"button1\"&gt;\r\n\u00a0\u00a0 &lt;xp:eventHandler event=\"onclick\" submit=\"true\"\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 refreshMode=\"partial\" refreshId=\"label1\"&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;xp:this.action&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;![CDATA[#{javascript:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 var data = new com.ibm.xsp.model.domino.DominoViewData();\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 data.setVar(\"view1\");\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 data.setViewName(\"All\");\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 view.addData(data);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }]]&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 &lt;\/xp:this.action&gt;\r\n\u00a0\u00a0 &lt;\/xp:eventHandler&gt;\r\n&lt;\/xp:button&gt;\r\n&lt;xp:label id=\"label1\"&gt;\r\n\u00a0\u00a0 &lt;xp:this.value&gt;&lt;![CDATA[#{javascript:\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 try{\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0 view1.getName();\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 }catch(e){e}\r\n\u00a0\u00a0\u00a0 }]]&gt;\r\n\u00a0\u00a0\u00a0 &lt;\/xp:this.value&gt;\r\n\u00a0\u00a0 &lt;\/xp:label&gt;\r\n&lt;\/xp:view&gt;<\/pre>\n<p>Folgende Eigenschaften k\u00f6nnen bei einem DominoViewData-Objekt gesetzt werden (Stand 8.5.3):<\/p>\n<ul>\n<li>setParentId(String)<\/li>\n<li>setSearchList(String)<\/li>\n<li>setDatabaseName(String)<\/li>\n<li>setVar(String)<\/li>\n<li>setSearch(String)<\/li>\n<li>setExpandLevel(int)<\/li>\n<li>setSearchExactMatch(boolean)<\/li>\n<li>setViewName(String)<\/li>\n<li>setSortOrder(String)<\/li>\n<li>setRequestParamPrefix(String)<\/li>\n<li>setSortColumn(String)<\/li>\n<li>setKeys(String)<\/li>\n<li>setScope(String)<\/li>\n<li>setStartKeys(String)<\/li>\n<li>setSearchVariants(boolean)<\/li>\n<li>setCategoryFilter(String)<\/li>\n<li>setSearchMaxDocs(int)<\/li>\n<li>setDataCache(String)<\/li>\n<li>setKeysExactMatch(String)<\/li>\n<li>setIgnoreRequestParams(boolean)<\/li>\n<li>setSearchFuzzy(boolean)<\/li>\n<\/ul>\n<p>Eine vollst\u00e4ndige Liste findet sich <a href=\"http:\/\/www.timtripcony.com\/xpages_ext_api_javadoc\/com\/ibm\/xsp\/model\/domino\/DominoViewData.html\" target=\"_blank\">hier.<\/a><\/p>\n<p>Im <a title=\"Domino Datasources On-the-Fly (3): ValueBinding &amp; MethodBinding\" href=\"https:\/\/hasselba.ch\/blog\/?p=457\">n\u00e4chsten Teil<\/a> <del>werden die Eigenschaften des <em>DominoDataDocument<\/em>-Objekts vorgestellt.<\/del> wird das ValueBinding und das MethodBinding vorgestellt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das ist der zweite Teil der Serie &#8222;Domino Datasources On-the-Fly&#8220;. 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 = &hellip; <a href=\"https:\/\/hasselba.ch\/blog\/?p=449\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,89,9,26,76,74],"tags":[33,7,31,86,5,3],"class_list":["post-449","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-java","category-javascript","category-jsf","category-ssjs","category-xpages","tag-8-5-3","tag-domino","tag-java","tag-jsf","tag-ssjs","tag-xpages"],"_links":{"self":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/449","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=449"}],"version-history":[{"count":7,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/449\/revisions"}],"predecessor-version":[{"id":454,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=\/wp\/v2\/posts\/449\/revisions\/454"}],"wp:attachment":[{"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=449"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=449"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hasselba.ch\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=449"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}