1

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

我看不出原因:

  <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>

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

你有什么主意吗

先感谢您

4

1 回答 1

0

您可以就地使用而不是 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>
于 2013-07-09T07:32:22.193 回答