xpages组合框控件,用户可以输入不在列表中的值

时间:2013-11-28 23:24:36

标签: xpages

我需要创建一个显示值列表的comboBox控件,但允许用户输入不在列表中的值。我看到你可以用dijit.form.comboBox做到这一点,但据我所知,8.5之后不再有效。所以这条路线已经出局了。这应该是非常基本的,我猜我在某个地方错过了一个属性。 有什么指针吗?

提前致谢

2 个答案:

答案 0 :(得分:2)

以下是核心控制xp:comboBox的工作示例,其中用户可以使用扩展库输入不在列表中的值

<?xml version="1.0" encoding="UTF-8"?>
<xp:view
    xmlns:xp="http://www.ibm.com/xsp/core">
    <xp:this.resources>
        <xp:dojoModule
            name="dijit.form.ComboBox"
            rendered="true">
        </xp:dojoModule>
    </xp:this.resources>

    <xp:comboBox
        id="comboBox1"
        value="#{sessionScope.Test}"
        dojoType="dijit.form.ComboBox"
        disableValidators="true">
        <xp:selectItem itemLabel="abc"></xp:selectItem>
        <xp:selectItem itemLabel="def"></xp:selectItem>
        <xp:selectItem itemLabel="xyz"></xp:selectItem>
    </xp:comboBox>

    <xp:button
        value="Submit"
        id="button1">
        <xp:eventHandler
            event="onclick"
            submit="true"
            refreshMode="complete"
            immediate="false"
            save="true">
        </xp:eventHandler>
    </xp:button>
</xp:view>

这里有三件事很重要:

  1. 添加dojoModule ressource dijit.form.ComboBox
  2. 添加dojoType="dijit.form.ComboBox"
  3. 添加disableValidators="true",否则不会提交不在列表中的新值。
  4. 如果您允许在项目中使用扩展库,那么您当然会使用Dojo Form控件“Dojo Combo Box”xe:djComboBox

答案 1 :(得分:0)

用djComboBox得到它希望它是核心控件的属性。