How to render p: selectOneMenu inside editable p: dataTable

I would like to be done p:selectOneMenu

inside p:dataTable

on an rowEditInit

event. I tried update="degreeType"

, update=formid:editTable:degreeType

but it didn't work. update="@this

is not an option as it updates the entire table and clears the edit selection. Since this dataTable, detailed item ID formid:editTable:0:degreeType

, 0

a line number. How do I get the current line number and put in the field update

?

<p:dataTable id="editTable" value="#{bean.emp}" var="stud" disabledSelection="true" editable="true" >
    <p:ajax event="rowEditInit" listener="#{bean.onRowInit}" update="degreeType"/>
    <p:ajax event="rowEdit" listener="#{bean.onRowEdit}" />
    <p:ajax event="rowEditCancel" listener="#{bean.onRowCancel}" />
    <!-- a bunch of p:column tags -->
    <p:column headerText="Degree">
        <p:cellEditor>
            <f:facet name="output"><h:outputText value="#{stud.degree}" /></f:facet>
            <f:facet name="input">
                <p:selectOneMenu value="#{stud.degree}" style="width: 100%" >
                    <f:ajax event="change" listener="#{bean.degreeListener}"  render="degreeType" />
                    <f:selectItem  itemLabel="Select One" itemValue=""/>
                    <f:selectItem itemLabel="MS" itemValue="MS"/>
                    <f:selectItem itemLabel="BS" itemValue="BS"/>
                </p:selectOneMenu>
            </f:facet>
        </p:cellEditor>   
    </p:column>
    <p:column headerText="DegreeType">
        <p:cellEditor id="test">
            <f:facet name="output"><h:outputText value="#{stud.degreeType}" /></f:facet>
            <f:facet name="input">
                <p:selectOneMenu id="degreeType" value="#{stud.degreeType}" rendered="true">
                    <f:selectItem itemLabel="Select One" itemValue="" noSelectionOption="true"/>
                    <f:selectItems value="#{stud.degreeTypes}"/> 
                </p:selectOneMenu>
            </f:facet>
        </p:cellEditor>
    </p:column>

    <p:column style="width: 30px">
        <p:rowEditor />
    </p:column>
</p:dataTable>

      

+3


source to share





All Articles