• Settings
    • Locale
    • Change the locale of the datepicker, schedule and client side validation messages.

      Language
      English
      English
      English
      French
      German
      German
      German
      Italian
      Korean
      Spanish
      Catalan
      Dutch
      Portuguese
      Portuguese
      Arabic
      Arabic
      Bulgarian
      Bangla
      Bosnian
      Czech
      Greek
      Estonian
      Persian
      Finnish
      Danish
      Hindi
      Indonesian
      Icelandic
      Croatian
      Japanese
      Hungarian
      Hebrew
      Georgian
      Central Kurdish
      Khmer
      Kyrgyz
      Kazakh
      Lithuanian
      Latvian
      Malay
      Norwegian
      Polish
      Romanian
      Russian
      Slovak
      Slovenian
      Serbian
      Serbian
      Swedish
      Thai
      Turkish
      Ukrainian
      Uzbek
      Vietnamese
      Chinese
      Chinese
  • Resources

PickList

PickList is a dual list input component featuring Drag and Drop based reordering, transition effects, pojo support, theming filtering, captions, checkbox selection, client-server callbacks, responsive layout and more.

PickList Tag Documentation

PickList is a component to transfer items between two lists.

NameTypeRequiredDefaultDescription
id String false generated Unique identifier of the component in a namingContainer.
rendered boolean false true Boolean value to specify the rendering of the component, when set to false component will not be rendered.
binding UIComponent false generated An EL expression referring to a server side UIComponent instance in a backing bean.
widgetVar String false generated ('widget_' + componentClientId) Name of the client side widget.
converter Converter false EL expression resolves to a converter instance or literal converter ID defining a component converter.
converterMessage String false
disabled boolean false false Disables the component.
dragDrop boolean false true Enables drag and drop functionality.
effect String false fade Effect to use when transferring items. Valid values are 'fade', 'slide' and 'none'.
effectSpeed String false fast Speed of the effect. Valid values are 'slow', 'normal' and 'fast'.
escape boolean false true Escapes special HTML characters in item labels.
escapeValue boolean false true Escapes special HTML characters in item values.
filterDelay int false Integer.MAX_VALUE Delay in milliseconds before sending each filter query.
filterEvent String false Event to trigger filtering. Valid values are 'keyup', 'keydown' and 'keypress'.
filterFunction String false Client side function to use for custom filtering.
filterMatchMode String false Match mode for filtering, valid values are 'startsWith', 'endsWith', 'contains', 'exact', 'lt', 'lte', 'gt', 'gte', 'equals', 'in' and 'custom'.
filterNormalize boolean false false Normalizes the filter input by removing accents.
immediate boolean false false When set true, process validations logic is executed at apply request values phase for this component.
itemDisabled boolean false false Defines if an item is disabled.
itemLabel String false Label of the item.
itemValue Object false Value of the item.
label String false Label for the component.
labelDisplay String false tooltip Defines how labels are displayed. Valid values are 'tooltip' and 'inline'.
onTransfer String false Client side callback to execute when items are transferred.
orientation String false horizontal Defines layout orientation. Valid values are 'horizontal' and 'vertical'.
required boolean false false Marks component as required.
requiredMessage String false
responsive boolean false false In responsive mode, picklist adjusts itself based on screen size.
showCheckbox boolean false false Shows checkbox for each item.
showSourceControls boolean false false Shows reorder controls for source list.
showSourceFilter boolean false false Shows filter input for source list.
showTargetControls boolean false false Shows reorder controls for target list.
showTargetFilter boolean false false Shows filter input for target list.
sourceFilterPlaceholder String false Placeholder text for source filter input.
style String false Inline style of the component.
styleClass String false Style class of the component.
submittedValue Object false
tabindex String false 0 Position of the element in the tabbing order.
targetFilterPlaceholder String false Placeholder text for target filter input.
transferOnCheckboxClick boolean false false Transfers items when checkbox is clicked.
transferOnDblclick boolean false true Transfers items on double click.
validator Validator false A method expression referring to a method validating the input.
validatorMessage String false
value Object false Value of the component.
valueChangeListener ValueChangeListener false A method binding expression referring to a method for handling a valuchangeevent.
var String false Name of the iterator variable used to reference each data.
Loading...
Tag DocumentationNew DocumentationNew Documentation JSDoc
Basic PickList
Instant Checkbox PickList
Advanced
Unsubscribed
Subscribed

Usage


<h:form>
    <p:growl id="msg" showDetail="true" escape="false"/>

    <div class="card">
        <h5 style="margin-top: 0">Basic PickList</h5>
        <p:pickList id="pickList" value="#{pickListView.cities}" var="cities" itemLabel="#{cities}" itemValue="#{cities}"/>
    </div>

    <div class="card">
        <h5 style="margin-top: 0">Instant Checkbox PickList</h5>
        <p:pickList id="instantPickList" value="#{pickListView.cities}" var="cities" itemLabel="#{cities}" itemValue="#{cities}" transferOnCheckboxClick="true"
                    showCheckbox="true" showSourceControls="false" showTargetControls="false" />
    </div>


    <div class="card">
        <h5>Advanced</h5>
        <p:pickList id="pojoPickList" value="#{pickListView.countries}" var="country"
                    itemValue="#{country}" itemLabel="#{country.name}" showSourceControls="true"
                    showTargetControls="true" showCheckbox="true"
                    showSourceFilter="true" showTargetFilter="true" 
                    sourceFilterPlaceholder="Filter unsubscribed countries"
                    targetFilterPlaceholder="Filter subscribed countries"
                    filterMatchMode="contains" converter="#{countryConverter}" responsive="true">

            <f:attribute name="widgetPreConstruct" value="cfg.labels.aria.moveUp = 'Slide Up'; cfg.labels.aria.moveDown = 'Slide Down'; cfg.labels.aria.moveTop = 'Slide Top'; cfg.labels.aria.moveBottom = 'Slide Bottom'; cfg.labels.aria.moveToSource = 'Unsubscribe'; cfg.labels.aria.moveToTarget = 'Subscribe'; cfg.labels.aria.moveAllToSource = 'Unsubscribe All'; cfg.labels.aria.moveAllToTarget = 'Subscribe All';" />
            <f:facet name="sourceCaption">Unsubscribed</f:facet>
            <f:facet name="targetCaption">Subscribed</f:facet>

            <p:ajax event="transfer" listener="#{pickListView.onTransfer}" update="msg"/>
            <p:ajax event="select" listener="#{pickListView.onSelect}" update="msg"/>
            <p:ajax event="unselect" listener="#{pickListView.onUnselect}" update="msg"/>
            <p:ajax event="reorder" listener="#{pickListView.onReorder}" update="msg"/>

            <p:column style="width:94%">
                <div class="flex align-items-center">
                    <span class="flag flag-#{country.code} mr-2" style="width: 30px; height: 20px" />
                    <h:outputText value="#{country.name}"/>
                </div>
            </p:column>
        </p:pickList>
    </div>

</h:form>