XPages FilteringSelect无效 - 无法解析构造函数:'dojo.data.viewJsonService'

时间:2017-03-13 09:19:23

标签: rest dojo xpages

我正在尝试在XPage上创建FilteringSelect元素。 我希望字段可编辑 - 能够键入以过滤值。 应使用Rest服务填充字段值。 我已经成功创建了一个dojo.data.viewJsonService RestService。

我的问题是FilteringSelect字段。 该字段的行为类似于简单的组合框,并且不支持输入文本以过滤值。此外,FilteringSelect始终为空。

我创建了第二个包含静态值“djFilteringSelect1”的FilteringSelect,该字段的行为也像一个简单的组合框。

我做错了什么?

我已在下面附上我的代码。

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
    xmlns:xe="http://www.ibm.com/xsp/coreex" dojoForm="true"
    dojoParseOnLoad="true" dojoTheme="true">
    <xp:this.data>
        <xp:dominoDocument var="document1" formName="gridAsset">
        </xp:dominoDocument>
    </xp:this.data>
    <xp:this.resources>
        <xp:dojoModule name="dijit.form.FilteringSelect"></xp:dojoModule>
    </xp:this.resources>

    <xe:restService id="objectRest" jsId="objectRestStore"
        pathInfo="objectRestPath">
        <xe:this.service>
            <xe:viewJsonService count="100" viewName="objects"
                defaultColumns="true" var="rowObjects"
                dojoType="dojo.data.viewJsonService">
                <xe:this.columns>
                    <xe:restViewColumn columnName="1"
                        name="GenObjekt">
                    </xe:restViewColumn>
                </xe:this.columns>
            </xe:viewJsonService>
        </xe:this.service>
    </xe:restService>

    <xe:djFilteringSelect id="djfsObject" trim="true"
        promptMessage="Search"
        invalidMessage="Not found, try again"
        store="objectRestStore" pageSize="10" searchAttr="GenObjekt"
        value="#{document1.ObjAnm}">
    </xe:djFilteringSelect>

    <xe:djFilteringSelect id="djFilteringSelect1">
        <xp:selectItem itemLabel="Acai"></xp:selectItem>
        <xp:selectItem itemLabel="Apple"></xp:selectItem>
        <xp:selectItem itemLabel="Apricot"></xp:selectItem>
        <xp:selectItem itemLabel="Artichoke"></xp:selectItem>
        <xp:selectItem itemLabel="Asparagus"></xp:selectItem>
        <xp:selectItem itemLabel="Avocado"></xp:selectItem>
    </xe:djFilteringSelect>
</xp:view>

正如Per Henrik Lausten所指出的那样(谢谢!);我在浏览器控制台中收到错误。见下文。

dojo/parser::parse() error Error: Unable to resolve constructor for: 'dojo.data.viewJsonService'
    at Object.<anonymous> (xspClientDojo.js:5)
    at Object.$DDSY_ [as map] (dojo.js:15)
    at Object.$DDSu_ [as _instantiate] (xspClientDojo.js:5)
    at xspClientDojo.js:5
    at _45c (dojo.js:15)
    at Promise.then._469.then (dojo.js:15)
    at Object.$DDSz_ [as parse] (xspClientDojo.js:5)
    at dojo.js:15
    at Function.$DDcf_ [as _onQEmpty] (dojo.js:15)
    at _3ba (dojo.js:15)
(anonymous) @ xspClientDojo.js:5

1 个答案:

答案 0 :(得分:0)

与XPage扩展库演示数据库中的REST服务演示页交叉引用,该数据库与OpenNTF上的扩展库下载打包在一起。看起来你在资源领域缺少一个dojo模块。