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

Update/commandbutton在primefaces 3.4上不起作用

尚嘉庆
2023-03-14

当我点击一个图标时,我试图显示一个表单来修改我表格中的一行,但当我点击时什么也没有发生,我使用的是primefaces 3.4,我的bean中没有问题,请帮助

       <h:form>


      <h1><h:outputText value="List Des Agents De Ministère"/></h1>


 <p:dataTable value="#{agentBean.agentministeres }"     id="agentList"
              paginator="true" rows="10" var="item">
                               <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="Action"/>
                                    </f:facet>
     <!--the problem in this commmandbutton i don't know if display or oncomplete dosn't word -->         
              <p:commandButton  id="selectButton"  
                                oncomplete="PF('dialog').show()" 
                                update="display" 
                                icon="ui-icon-search" 
                                title="View"/>  

                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="PrenomAgent"/>
                                    </f:facet>
                                    <h:outputText value="#{item.prenomAgent}"/>
                                </p:column>
                                <p:column>
                                    <f:facet name="header">
                                        <h:outputText value="TelAgent"/>
                                    </f:facet>
                                    <h:outputText value="#{item.telAgent}"/>
                                </p:column>
                </p:dataTable>
                           </h:form>

这是表格:

       <h:form id="display">
                       <p:dialog header="Details" widgetVar="dialog" resizable="false" id="display"  
            showEffect="fade" hideEffect="explode" modal="true">  

      <h:panelGrid id="display" columns="2" cellpadding="4" style="margin:0 auto;">
                                    <h:outputLabel value="NomAgent:" for="nomAgent" />
                                    <h:inputText id="nomAgent" value="#{agentBean.agentministere.nomAgent}" title="NomAgent" />
                                    <h:outputLabel value="PrenomAgent:" for="prenomAgent" />
                                    <h:inputText id="prenomAgent" value="#{agentBean.agentministere.prenomAgent}" title="PrenomAgent" />
                                    <h:outputLabel value="TelAgent:" for="telAgent" />
                                    <h:inputText id="telAgent" value="#{agentBean.agentministere.telAgent}" title="TelAgent" />
          <p:commandButton value="Valider"  image="ui-icon-disk" action="#{agentBean.enregistrerAgent}"  />
 </h:panelGrid>


</p:dialog>  

          </h:form>

共有1个答案

魏威
2023-03-14

以下几点将帮助您修复代码。

>

尝试将表单放入对话框中,这将解决您可能面临的一些问题,而如果您通过ajax更新表单,则会隐藏对话框。

<p:dialog widgetVar="dialog">
    <h:form id="details">
        <!-- input and commandbutton, now form can easily updated on submit -->
    </form>
</p:dialog>

您必须将所选行提交给bean,以便在详细信息对话框中显示更新:

<p:commandButton  id="selectButton" icon="ui-icon-search"             
    update="display" 
    oncomplete="dialog.show();">
    <f:setPropertyActionListener target="#{agentBean.agentministere} value="#{item}"/>
</p:commandButton>
 类似资料:
  • 我在数据表外部有一个primefaces commandButton,它可以正常工作。在dataTable中,我有完全相同的commandButton,但当单击dataTable中的commandButton时,它不会调用ActionListener:

  • 我有一种字体在IE8和IE9以及所有其他浏览器中都能正常工作,但第二种字体只在IE9和其他浏览器中工作。在IE8中,我得到了一个错误: “CSS3111:@font-face遇到未知错误。” 我一直在四处看书,尝试了很多事情,但都没有运气。 我的代码是: 我试过用几个不同的生成器多次重新生成eot,玩过CSS,玩过头,玩过域,等等,但是看起来它们都很好。如前所述,相同的代码在相同的,只是指向不同的

  • 我实现了spring Security3.2.5,但不幸的是@preauthorize不能用于类和方法。正如我从文档中读到的,@preauthorize应该允许方法和类工作,如果用户在注释中有指定的角色,但我能够运行所有方法或类,而没有任何角色差异。您可以看到security-config.xml和security.context.xml以及我在下面声明@preauthorize注释的类。如果你能

  • 问题内容: 我正在尝试使形状的动画随着样本大小的增加(从100增加到1000)而呈指数分布。还有一个滑块,用于配置发行版的lambda参数,以及一个用于启动动画的按钮。 我的问题是,即使布局得到渲染,当我按下开始按钮时也没有动画发生。到目前为止,这是我的尝试: 为了简化起见,我在Python笔记本中运行它: 问题答案: 您应该注意函数的名称空间。 考虑 因此,您需要处理实际对象,而不是它们的某些本

  • 我的代码没有验证select。怎么了?。这个问题的解决方案是什么?很抱歉我的英语不好,非常感谢你的回答 这是我的表格 我的Javacript 忽略它:Lorem ipsum dolor sit amet,奉献精英。毛里斯·塞德·里索斯和莫利斯·迪克特。在faucibus中,Interdum和malesuada在第一次同侧前就出名了。我是一个爱的人。我是帕特·泰勒斯,我是康格·奈克。南阿罗特鲁姆尼斯

  • 问题内容: 我正在做一个API,它在Heroku上。但是我只在heroku方面遇到了socket.io的一些问题,当我在本地对其进行测试时一切正常。该API完全独立于前端,因此它们位于不同的域(和不同的主机)中。问题是在生产中,我无法成功连接插座… 我有一些问题,所有这些都是关于heroku上的socket.io配置的。我知道有些帖子包含有关此信息的信息,但是我发现这些帖子使用的是旧版本的sock

  • 我是的新手,我必须制作一个音乐播放器。我从github中举了一个例子,我正在实现我需要的东西,但是当我将代码从更新到时,它会给我一个关于的错误: Android.app.remoteserviceException:StartForeground的错误通知:java.lang.runtimeException:服务通知的无效通道:通知(通道=null pri=0 contentview=null振

  • 我有以下方法:1使用“SHQueryRecycleBin”查询回收站 但是,当我试图在. Net Core 3.1“SHQueryRecyclbin”上使用相同的代码时,简单地拒绝工作 检查一下,我在{. Net 4.8}vs{. Net Core 3.1}控制台、Winform上试过了 代码示例: