primefaces autocomplete在数据表之外工作正常,但在其中不起作用

时间:2013-04-24 12:08:16

标签: jsf-2 process autocomplete primefaces datatable

我在下面有这个自动完成组件,它在数据表之外工作,但在它内部不起作用

我没有看到原因:

  <p:dataTable id="table" var="car" editable="true" editMode="cell"
                            widgetVar="carsTable" rowKey="#{car.idarticleFourniseur}"
                            value="#{articlesMB.listarticlefournisseurs}" rows="3">

                            <p:ajax event="cellEdit" listener="#{articlesMB.onCellEdit}"
                                update=":messages" />

                            <p:column headerText="Id">
                                <h:outputText value="#{car.idarticleFourniseur}" />
                            </p:column>

                            <p:column headerText="Nom">
                                <h:outputText value="#{car.libelle}" />
                            </p:column>

                            <p:column headerText="Fournisseur">
                                <p:cellEditor>
                                    <f:facet name="output">
                                        <h:outputText value="#{car.fournisseur.personne.nom}" />
                                    </f:facet>
                                    <f:facet name="input">
                                        <p:autoComplete id="dfdd" var="p" itemLabel="#{p.personne.nom}"
                                            itemValue="#{p}" dropdown="true" process="@this"
                                            value="#{articlesMB.selectedFournisseur}"
                                            forceSelection="true" converter="#{fournisseursConverter}"
                                            completeMethod="#{articlesMB.complete}">
                                            <p:column>  
                                                 #{p.personne.nom} - #{p.personne.prenom}  
                                              </p:column>
                                        </p:autoComplete>

                                    </f:facet>
                                </p:cellEditor>
                            </p:column>

                        </p:dataTable>

                        <p:autoComplete id="dfd" var="p" itemLabel="#{p.personne.nom}"
                            itemValue="#{p}" dropdown="true" process="@this"
                            value="#{articlesMB.selectedFournisseur}" forceSelection="true"
                            converter="#{fournisseursConverter}"
                            completeMethod="#{articlesMB.complete}">
                            <p:column>  
                                                 #{p.personne.nom} - #{p.personne.prenom}  
                                              </p:column>
                        </p:autoComplete>

第二个自动完成工作正常,但第一个(在数据表中)不起作用(完成没有出现)

你知道吗

提前谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用inplace

代替celleditor
<p:inplace editor="true" label="#{contactRole.userDto.fullContactData}" emptyLabel="#{msgs['constructionSite.text.contact']}">
                                    <p:autoComplete value="#{contactRole.userDto}" 
                                        id="contact1" completeMethod="#{assignContactBean.completeContacts}"  
                                        var="c" itemLabel="#{c.fullContactData}" itemValue="#{c}"
                                        converter="#{assignContactBean}" forceSelection="true" scrollHeight="200"/>
                            </p:inplace>