Xpages Combobox - 设置默认值

时间:2014-07-31 17:02:55

标签: combobox xpages

我有一个组合框,其值从托管bean中填充,如下所示:

keywordlist.setConnDB("jdbc:sqlserver://xx.xx.x.xx:1433;DatabaseName=xxx");
keywordlist.setConnUserName("xxx");
keywordlist.setConnPassword("xxx");
keywordlist.setSQLQuery("SELECT DisplayText as Keyword From Glossary WHERE  SUBSTRING(DisplayText, 1, 2)= 'RV'");
keywordlist.keywords;

我希望能够将默认值设置为' ---选择---',但无论我做什么,关键字列表总是选择返回的第一个关键字作为默认值。

非常感谢任何帮助。

谢谢,

3 个答案:

答案 0 :(得分:2)

添加另一个值对(在第一个位置),键入"公式项"具有以下SSJS返回值:

"-- Select --|"

注意管道! 这应该在第一个位置显示,并且也应该默认为"空"是默认值。如果没有,请设置"别名" (管道之后的值)可以定义为组合项的默认值porperty。

答案 1 :(得分:1)

可能是因为您直接绑定到bean。您可能必须将该值添加到关键字列表本身。我想我在NotesIn9节目中有一个例子:http://notesin9.com/index.php/2014/03/13/notesin9-138-xpages-combobox-improvements/

我不确定。如果我在java代码中没有默认值,你可能会看到它是如何完成的。

试试吧。如果那根本不起作用,那么也许你不能直接将组合框绑定到bean。也许将它绑定到一个viewScope var ...因为它可以是任何它取一个空白...然后你只需要在onChange事件或其他东西中将viewScope var值移回你的bean。

快速思考......

答案 2 :(得分:1)

基本上,以下模式可能是这种组合框的起点:

    <xp:comboBox
        id="comboBox1"
        defaultValue=""
        value="#{document1.someField}">
        <xp:selectItem
            itemLabel="--- Select ---"
            itemValue=""></xp:selectItem>
        <xp:selectItems>
            <xp:this.value><![CDATA[#{javascript:
            // Your SSJS code...
            // Should return some kind of list...
            return items;
}]]></xp:this.value>
        </xp:selectItems>
    </xp:comboBox>

或者,您可以从Java bean中获取关键字值:

        <xp:selectItems value=#{yourBean.yourValue}></xp:selectItems>

但是,返回列表值仍然很重要。它也可能有&#34;标签|值&#34;格式。