从视图中填充组合框

时间:2019-06-20 17:07:12

标签: xpages

我正在尝试从视图中的单个类别填充组合框的值:

<xp:panel>
    <xp:this.data>
        <xp:dominoView var="view1"
            databaseName="myDb.nsf"
            viewName="myView"
            keys="myCategory">
        </xp:dominoView>
    </xp:this.data>

    <xp:comboBox id="comboBox1" value="#{myDoc.someField}">
        <xp:selectItem itemLabel="Not Assigned" itemValue="" />
        <xp:selectItems>
            <xp:this.value>
                <![CDATA[#{javascript:view1.getColumnValues(1)}]]>
            </xp:this.value>
        </xp:selectItems>
    </xp:comboBox>
</xp:panel>

我尝试同时使用keys="myCategory"categoryFilter="myCategory",但两个设置都返回列中的所有值,而不仅仅是返回给定键/类别的值。

我怀疑getColumnValues()实际上不尊重keyscategoryFilter,但是还有其他选择吗?

我总是可以在afterPageLoad中手动填充一个范围变量,并让组合框引用它,但是我更希望将其与控件属性“连接在一起”,因为可以在页面的其他位置更改列表。这可能吗?

1 个答案:

答案 0 :(得分:0)

AFAIK,getColumnValues不是View类的方法。我认为有两种(三种)可能性:

  1. 使用普通的旧@DbColumn或@DbLookup(可在JavaScipt中使用!)
  2. 或使用getAllDocumentsByKey的JavaScript(或Java)中的等效代码
  3. 相同,但是使用createViewNavFromCategory来构建ViewNavigator并浏览其条目