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

Primeface:

卢承弼
2023-03-14

问题在于“p:ajax event=“rowDblselect”listener=“#{companyBean.update()}”,当我第一次双击时,方法“update()”被调用了一次(完美!),但在那之后,当我按下命令按钮“button1”并再次双击组件时,“update()”被调用了2次。当我再重复一次时,“update()”被调用了3次。。。这太奇怪了!!我认为,当我用commandButton更新数据表时,ajax事件会自行保持升级。我不知道(?)。。。谁能帮我解决这个问题??

<h:panelGrid id="panel" columns="5">
  <p:commandButton id="button1"  value="Search" actionListener="#{                     
     companyBean.search()}" update="dataTable"/>          
</h:panelGrid>
<p:dataTable id="dataTable" var="companyTO" value="#{companyBean.companiesTO}"                      
  selection="#companyBean.selectedCompanyTO}" rowKey="#{companyTO}"                   
  emptyMessage="" selectionMode="single" >   

 <p:ajax event="rowDblselect" listener="#{companyBean.update()}" immediate="true"   
        process="@this" />

 <p:column >

     ...
<p:dataTable>

观察:当我删除“update=“dataTable”时,“event=“rowDblselect”工作正常,只调用该方法一次。因此,问题在于更新。

我在这里发现了同样的问题:https://stackoverflow.com/questions/11904556/updating-datatable-with-own-datamodel-calls-method-more-and-more

共有1个答案

濮君植
2023-03-14

尝试删除ajax事件的立即属性,并在命令按钮中添加属性:

process="@this" partialSubmit="true" ajax="true"

像这样的事情:

事件:

   <p:ajax event="rowDblselect" listener="#{companyBean.update()}" process="@this" partialSubmit="true" />

按钮:

 <p:commandButton id="button1"  value="Search" actionListener="#{                     
         companyBean.search()}" update="dataTable" process="@this" partialSubmit="true" ajax="true"/> 
 类似资料:
  • 问题内容: 我遇到的问题是PrimesFaces 3.4.1日历。当使用通过按钮或在输入字段焦点上激活的弹出日期选择器时,您只能选择有效的日期,该日期很好,很开心! 当您在输入字段中手动添加日期时,就会出现问题,如果您添加了无效日期,PrimeFaces日历组件会尽最大的努力将其转换为有效日期然后发送,这意味着后端验证是不可行的。以下是一些有趣的翻译: 30/02/2012变成2/6/2014 3

  • 问题内容: 这是我的模型: User.java 我想建立一个这样的用户朋友表: users.jsf 由于用户很多,因此无法一次性转储用户表。 在这种情况下,数据表组件是理想的,因为它具有内置的分页支持。也是理想的,因为可以对列进行排序… 不幸的是,我无法通过Primefaces示例找到改变用户列行距的方法。 如何建立该数据表? 问题答案: 基于@Kerem的答案,这是我想出的解决方案: 为了使嵌套

  • 问题内容: 我正在尝试在数据表中显示Hashmap,这是我要尝试的操作:我将具有一些产品的选择菜单,以及数量的输入文本,还有一个“ ajaxified”添加按钮,用于添加产品和它的数量到地图上,以及一个提交按钮,显示一个摘要对话框,其中包含一个包含两列的数据表:产品名称和数量。我的哈希图是 对于Ajaxified按钮和所有这些第一步,它们正在为我工​​作,我已设置了所有内容,并且正确填充了地图,剩

  • 问题内容: 今天,我想尝试新的PrimeFaces版本3.4.RC1。对于图表,有一个名为datatipFormat的新属性。 我只想在折线图中显示值(y轴)作为数据提示。像这样: 我该怎么做才能仅显示此内容?我找不到带有模板字符串的示例。 最好的问候 问题答案: Primefaces将jqPlot库用于图表。在那里,我找到了以下条目: 我试过Highlighter.formatString(Pr

  • 问题内容: 我有一个菜单栏,其中子菜单上的两个项目都调用同一页面: 在该页面中,我有一个带有两个选项卡的选项卡视图: 如何设置活动标签,以便每个菜单项都激活相应的标签? 问题答案: 如果您想这样做,则不能使用中的,因为我们必须 在 跳到页面 之前 调用一种方法来更改tabindex 。如果使用,则在我们跳到页面后将调用该方法。 首先,您可以使用的操作字段,该方法返回您要跳过的地址: 这两种方法可以

  • 问题内容: 使用JDK 1.6,JSF 2.1,PrimeFaces 2.2.1,POI 3.2和Apache Tomcat 7 我正在尝试设置一个servlet,以允许根据用户选择下载excel文件。excel文档是在运行时创建的。 没有错误,代码确实进入了servlet。 我单击按钮,没有任何反应。我没有使用PrimeFaces使用的数据表导出,因为我需要对Excel文档中的数据进行重新排序和

  • 问题内容: 我正在尝试使用站点中的演示代码在数据表中实现延迟加载数据 PrimeFaces延迟加载 我得到了错误 这是我的table.xhtml代码 TableBean代码 汽车代码 和LazyCarDataModel代码 请帮忙。 提前致谢。 问题答案: 在这种情况下,模型类必须是公共的。

  • 问题内容: 在我的Maven项目中,我创建了一个“ index.xhtml”文件。当我构建并运行该项目时,Web浏览器未显示任何内容。当我查看源代码时,仍然可以看到源代码,而不是普通的html标签。 我尝试通过以下方式创建XHTML文件: 选择项目,右键单击New ..并选择Other ..并选择“ Web”类别,然后选择JSF Page。 选择项目,右键单击New ..,然后选择Other ..