添加一个下拉列表框-问题初学者



我已经在这个和其他各种论坛上问过这个问题好几次了,但仍然无法在我的代码中实现它。

我正在做这个例子,我需要添加一个列表框(如在列MANUFACTURE)。我无法显示列表框或填充它的值从我的Java类。

我的java代码如下;

private List<Hotel> listHotel; 

public List<Hotel> ListAllHotels() {
    return dml.displayAllHotels(); //dml.displayAllHotels() returns a List<Hotel> 
}

通常我创建一个列表框,并使用以下JFS代码填充它的值;

            <h:selectOneMenu value="#{HotelDataForm.stationedHotel}" id="globalFilter" onchange="carsTable.filter()"   >
                <f:selectItems value="#{HotelDataForm.ListAllHotels}"  var="user" itemValue="#{user[1]}" itemDisabled="false" itemLabel="#{user[1]}" />
         <h:outputText value="#{carsTable[1]}" />
            </h:selectOneMenu>

这是有效的,但我无法将此代码添加到我发布的链接中的Manufacturer列。在这个例子中,他们使用SelectItem[]对象来填充列表框。我不知道如何在我的程序中添加和填充manufacturer列的值。

摘自PrimeFaces 2.2指南第131页的示例

如果你想使用下拉,而不是输入文本,只允许预定义的过滤器值使用filterOptions属性并将selectitems的集合/数组作为值。此外,filterMatchMode定义了内置的matcher,默认为startsWith。下面是一个高级过滤数据表选项了。

<p:column
        filterBy="#{car.manufacturer}" 
        headerText="Manufacturer"
        filterOptions="#{carBean.manufacturerOptions}" 
        filterMatchMode="exact">
    <h:outputText value="#{car.manufacturer}" />
</p:column>

所以在这个例子中,carBean应该有一个方法getManufacturerOptions(),它返回SelectItem[]List<SelectItem>,其中包含过滤器下拉列表中应该包含的所有值。

REFERENCE: Javadoc for SelectItem

相关内容

  • 没有找到相关文章

最新更新