当前位置: 首页 > 知识库问答 >
问题:

在datatableEditor中编辑单元格后,输出文本仍然显示旧值primefaces

松涵容
2023-03-14

我正在使用JSF2.2和PrimeFaces5.0。我有一个带有单元格编辑的数据表。

当我设置editmode=“cell”时,我有dataTable inside对话框,编辑它之后的outputtext不会出现,但当我将dataTable edit outside对话框放在outside对话框中时,它就正常了。当我检查dataTable的元素时,它是空的,但如果我将dataTable edtor放在outside对话框外,则输出元素不是空的

<ui:composition  xmlns="http://www.w3.org/1999/xhtml"
            xmlns:ui="http://java.sun.com/jsf/facelets"
            xmlns:h="http://xmlns.jcp.org/jsf/html"
            xmlns:p="http://primefaces.org/ui"
            xmlns:f="http://xmlns.jcp.org/jsf/core">
   <f:view>
   <h:form id="lotRecepForm">
        <p:dataTable value="#{lotRecpBean.liste}" 
                     var="lotRecp"                        
                     id="tbl">                                                                 
            <p:column>
                <f:facet name="header">
                    <span class="nomColonneTab">Lot Réception</span>                        
                </f:facet>
                <h:outputText value="#{lotRecp.codeLotReception}"/>
            </p:column>
            <p:column>
                <f:facet name="header">
                    <span class="nomColonneTab">Entrant</span>  
                </f:facet>
                <h:outputText value="#{lotRecp.entrant.designation}"/>
            </p:column>               
            <p:column>
                <f:facet name="header">
                    <span class="nomColonneTab">Date Réception</span>  
                </f:facet>
                <h:outputText value="#{lotRecp.dateReception}">
                    <f:convertDateTime pattern="dd/MM/yyyy HH:mm:ss" />
                </h:outputText>
            </p:column>
            <p:column>
                <f:facet name="header">
                    <span class="nomColonneTab">Quantite Livrée</span>  
                </f:facet>
                <h:outputText value="#{lotRecp.quantiteLivree}"/>
            </p:column>               
            <p:column headerText="Action"  exportable="false" styleClass="nomColonneTab">                                          
                    <p:commandButton icon="ui-icon-arrowrefresh-1-w"
                                     update=":content:modif"
                                     oncomplete="PF('w_edit').show();" styleClass="buttonAction">
                        <f:setPropertyActionListener value="#{lotRecp}" target="#{lotRecpBean.currentLotReception}" />
                    </p:commandButton>
            </p:column>                 
        </p:dataTable>
    </h:form>
     <p:dialog  id="modif" width="80%" widgetVar="w_edit" modal="true" >                    
    <p:tabView  > 
        <p:tab  title="Controle de Réception ">                  
            <h:form>
               <h:panelGrid>                      
                <p:dataTable id="data1" value="#{normeMicroEBean.listOfNorme(lotRecpBean.currentLotReception.entrant)}" 
                             var="item" editable="true" editMode="cell" >                           
                    <p:column headerText="Valeur Controle" styleClass="ui-editable-column"> 
                        <p:cellEditor>
                            <f:facet name="output"><h:outputText  value="#{item.valeurControle}" /></f:facet>
                            <f:facet name="input"><p:inputText id="modelInput" value="#{item.valeurControle}" style="width: 50%"/></f:facet>
                        </p:cellEditor>                               
                    </p:column>
                    <p:column width="15%" headerText="Testeur">
                        <p:cellEditor >
                            <f:facet name="output"><h:outputText value="#{item.testeurCR.nom}" /></f:facet>
                            <f:facet name="input">
                                <h:selectOneMenu value="#{item.testeurCR.nom}" style="width:50%">
                                    <f:selectItems value="#{personnelBean.liste}"   var="perso" itemLabel="#{perso.nom}" itemValue="#{perso}" />
                                </h:selectOneMenu>
                            </f:facet>
                        </p:cellEditor>
                    </p:column>                                                        
                </p:dataTable>
            </h:panelGrid>
         <h:form>
        </p:tab>  
      <p:tab  title="Info lot de Réception">                   
            <h:form>    
                <p:panelGrid id="idPanel">                                                                                                        
                    <p:row>
                        <p:column><p:outputLabel value="QuantiteLivree:"                   for="quantiteLivree" /></p:column>
                        <p:column><p:inputText id="quantiteLivree" value="#{lotRecpBean.currentLotReception.quantiteLivree}" title="QuantiteLivree" /></p:column>
                        <p:column><p:outputLabel  value="QuantiteRecue:" for="quantiteRecue" /></p:column>
                        <p:column><p:inputText id="quantiteRecue" value="#{lotRecpBean.currentLotReception.quantiteRecue}" title="QuantiteRecue" /></p:column>
                        <p:column><p:outputLabel value="NumBonLivraison:" for="numBonLivraison" /></p:column>
                        <p:column><p:inputText id="numBonLivraison" value="#{lotRecpBean.currentLotReception.numBonLivraison}" title="NumBonLivraison" /></p:column>                          
                    </p:row>                                                                                                                                    
                </p:panelGrid>                        
                <div>
                    <p:commandButton action="#{lotRecpBean.update()}" value="Enregistrer" styleClass="button"
                                     style="float: right" oncomplete="PF('lotRecepTable').filter();PF('w_edit').hide();" />               
                </div>  
            </h:form>
        </p:tab>    
    </p:tabView> 
</p:dialog> 


共有1个答案

哈栋
2023-03-14
 <p:dataTable id="data1" value="#{normeMicroEBean.listOfNorme}" 
                             var="item" editable="true" editMode="cell" > 

我在托管bean t中创建了一个列表,并在按钮中执行该方法以填满在托管bean中创建的列表。谢谢您的回复

 类似资料:
  • 在的下载站点上,它说你可以克隆它来更新它。我下载它是为了安装它,但我开始真正进入并希望从现在开始每次更新它时都克隆它。我想我找到了我们需要克隆它的地方,经过了大量的搜索和比平时更少的文档。如果我是对的,它就在目录中,就在我的眼皮底下! 我是不是没有找到难以捉摸的文件夹,还是团队直到最新版本发布后才让您直接克隆它?例如,我知道VirtualBox就是这样做的。 我知道这有点重复这个问题,但我尝试了它

  • 我有一个带有单元格编辑功能的数据表,我想通过应用一个不同样式的类来更新数据表以显示修改后的记录。 以下是我的问题: 如果在激发onCellEdit事件时未更新数据表,则记录已正确更新,但无法看到已修改行的applyed style类。 如果在onCellEdit事件激发时更新数据表,并使用return键更新值,则一切正常,并且可以看到修改行的应用样式类。 如果我在单元格编辑事件触发时更新数据表,并

  • 我想使文本编辑器显示显示在屏幕的左侧 如图所示,在编辑文本中写入的行数显示为1、2、3等 我也希望当用户向上或向下滚动的行数也滚动。提前致谢

  • 我一直有一些来自EditText的奇怪行为的问题。setSelect,我希望你们都能帮忙! 我正在开发的应用程序有一个搜索字段,需要让它的行为非常类似于浏览器的搜索栏。例如,如果用户键入“fo ”,我们希望EditText自动完成“foobar ”,并突出显示自动完成的“obar”文本,以便在自动完成的文本与用户想要键入的内容不匹配时,用户可以很容易地替换它。 为了实现这一点,我设置了一个带有Te

  • 问题内容: 我有此代码从如何突出显示jtable中的多个单元格: 但是,当我用它突出显示一个单元格时,它会执行错误的操作,就像丢失整个数据一样。Iam是Java Swing的新手。请帮助使单元格在按钮按下动作事件中突出显示。 更新:添加我的示例代码: 我想要的是单击按钮,我只想突出显示单元格编号1(Row1-Column1)。 问题答案: 我使用此类来设置JTables的样式 创建此类的实例,并将

  • 问题内容: 我想让可编辑JTables中的编辑器在开始编辑时选择单元格中的所有文本。我已经尝试了几件事,都是围绕从TableCellEditor.getTableCellEditorComponent方法返回的组件上调用JTextComponent.selectAll()进行的。我尝试过的所有方法均无济于事。 在最近的尝试中,我从Swing教程更改了SimpleTableDemo类,以使用自定义T