RichFaces - 包含字母或组合的ComboBox中的建议

时间:2014-01-02 03:05:23

标签: java web-services combobox richfaces

我有什么:

我创建了一个具有以下值的ComboBox:
- 测试
- 样品
- 例子
- Lorem Ipsum

在ComboBox中键入字母/字母组合将触发组件建议以输入文本/组合开头的值。

期望的输出:

强制ComboBox建议包含输入的值/ s。例如,输入' ple'在ComboBox中将建议值Sample和Example。

我按照this example Bozho的建议尝试浏览this question,但我没有得到任何结果。

我的IDE是NetBeans 6.9.1,如果你问的话,RichFaces的版本是3.3.3。

1 个答案:

答案 0 :(得分:2)

ComboBox不能这样定制,suggestionBox可以,如示例所示。

<rich:suggestionbox suggestionAction="#{capitalsBean.autocomplete}" … >

所以你改变了方法

public List<Capital> autocomplete(Object suggest) {
    String pref = (String)suggest;
    ArrayList<Capital> result = new ArrayList<Capital>();

    Iterator<Capital> iterator = getCapitals().iterator();
    while (iterator.hasNext()) {
        Capital elem = ((Capital) iterator.next());
        if ((elem.getName() != null && elem.getName().toLowerCase().indexOf(pref.toLowerCase()) == 0) || "".equals(pref))
        {
            result.add(elem);
        }
    }
    return result;
}

检查子字符串

elem.getName().toLowerCase().indexOf(pref.toLowerCase()) != -1)