Search code examples
jsf-2icefaces-3

icefaces 3.0 ace:dataTable sorting column,need example


I need an example for sorting a column in ace:dataTable, i don't know how to use sortBy + sortFunction . thanks


Solution

  • <ui:param name="title" value="#{msgs[dataTableSorting.title]}"/>
    <ui:param name="description" value="#{msgs[dataTableSorting.description]}"/>
    <ui:param name="resourceValue" value="#{dataTableSorting.exampleResource}"/>
    
    <ui:param name="wikiResources" value="#{dataTableResources.wikiResources}"/>
    <ui:param name="tldResources" value="#{dataTableResources.tldResources}"/>
    
    <ui:define name="example">
        <h:form id="form">
           <ace:dataTable id="carTable"
                          value="#{dataTableSort.carsData}"
                          var="car">
               <ace:column id="id" headerText="ID" sortBy="#{car.id}">
                    <h:outputText id="idCell" value="#{car.id}"/>
                </ace:column>
                <ace:column id="name" headerText="Name" sortBy="#{car.name}">
                    <h:outputText id="nameCell" value="#{car.name}"/>
                </ace:column>
                <ace:column id="chassis" headerText="Chassis" sortBy="#{car.chassis}" >
                    <h:outputText id="chassisCell" value="#{car.chassis}"/>
                </ace:column>
                <ace:column id="weight" headerText="Weight (lbs)" sortBy="#{car.weight}">
                    <h:outputText id="weightCell" value="#{car.weight}"/>
                </ace:column>
                <ace:column id="accel" headerText="Accel" sortBy="#{car.acceleration}" >
                    <h:outputText id="accelCell" value="#{car.acceleration}"/>
                </ace:column>
                <ace:column id="mpg" headerText="MPG" sortBy="#{car.mpg}">
                    <h:outputText id="mpgCell" value="#{car.mpg}"/>
                </ace:column>
                <ace:column id="cost" headerText="Cost" sortBy="#{car.cost}">
                    <h:outputText id="costCell" value="#{car.cost}">
                        <f:convertNumber type="currency"
                                         currencySymbol="$"
                                         groupingUsed="true"
                                         minFractionDigits="2"
                                         maxFractionDigits="2"/>
                    </h:outputText>
                </ace:column>
            </ace:dataTable>
        </h:form>
    </ui:define>
    

    Reference - icefaces-showcase