具有扩展和可编辑单元格的数据表primefaces?

时间:2014-08-24 21:25:50

标签: jsf jsf-2 primefaces datatable

            <p:dataTable  var = "lead" value="#{clientservice2.filteredLeads}"   editable="true" style="width: 90%">
            <p:ajax event="cellEdit" listener="#{clientservice2.onCellEdit}" update=":form:msgs" />

            <p:column style="width: 16px">
                <p:rowToggler/>
            </p:column>
            <!--<p:column  selectionMode="multiple" headerText="Действие"></p:column>-->
            <p:column headerText="Дата">
                <h:outputText value="#{clientservicehelper.formatDate(lead.creationDate)}" />

            </p:column>
            <p:column headerText="Tип">           
                <h:outputText  value="lead.type}"/>

            </p:column>
            <p:column headerText="Сумма">           
                <h:outputText value="#{clientservice2.getPropertyValueByName(lead, 'credit_amount').getValue()}"/>
            </p:column>
            <p:column headerText="Возраст">           
                <h:outputText  value="#{clientservicehelper.calculateAge(clientservice.getPropertyValueByName(lead, 'birth_date').getValue())}"/>
            </p:column>
            <p:column headerText="Канал">           
                <h:outputText  value=""/>
            </p:column>
            <p:column headerText="Менеджер">           
                <h:outputText  value=""/>
            </p:column>
            <p:column headerText="Статус">           
                <h:outputText  value="#{lead.status}"/>
                <p:cellEditor>
                    <f:facet name="output"><h:outputText value="#{lead.status}" /></f:facet>
                    <f:facet name="input">
                        <p:selectOneMenu value="#{lead.status}" style="width:100%">
                            <f:selectItem value="#{lead.status}"  itemLabel="#{status}" itemValue="#{status}" />
                        </p:selectOneMenu>
                    </f:facet>
                </p:cellEditor>
            </p:column>
            <p:rowExpansion>
                <p:panelGrid columns="3">
                    <p:column>
                        <h3>Контакты</h3>
                        <p:outputLabel title="фамилия:" value="#{lead.lastname}"/>

                    </p:column>
                    <p:column></p:column>
                    <p:column></p:column>
                </p:panelGrid>
            </p:rowExpansion>
        </p:dataTable>

我的xhtml页面和我的数据表。 所以问题是如何使其可编辑和可扩展,因为当我添加编辑选项时,扩展功能不起作用。 我是一个新的表面,所以任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

虽然您已准备好p:cellEditor个元素,但p:dataTable缺少editMode="cell"属性。它应该是:

<p:dataTable  var="lead" value="#{clientservice2.filteredLeads}" editMode="cell"    
   editable="true" style="width: 90%">
...
</p:dataTable>

H个,

托马斯