【问题标题】:jsf wizard tabs inserting a new record to a dataTable and moving to the next tabjsf 向导选项卡将新记录插入数据表并移动到下一个选项卡
【发布时间】:2017-08-04 10:02:09
【问题描述】:

我有一个素面向导,它有 3 个选项卡,每个选项卡内都有一个文本字段和一个带有添加按钮的数据表,这个添加按钮将字段中的信息添加到我的数据库并显示在数据表中,当我添加新记录时,向导移动到下一个选项卡,我的问题是当我添加新记录时,它不会立即显示在 dataTable 中,但我必须重新加载我的服务器(tomcat),但是如果我编辑了现有记录并且在第二个选项卡中添加了一条新记录,它立即显示在数据表中。

关于发生了什么的任何建议我尝试了很多方法将向导从选项卡移动到另一个但没有运气,这是我使用的:

使用 Java: 1-

Wizard wizard = (Wizard) FacesContext.getCurrentInstance().getViewRoot().findComponent("frmExamBank:tabsId");
    wizard.setStep("tab2");
    RequestContext.getCurrentInstance().update("frmExamBank");

2-

RequestContext context = RequestContext.getCurrentInstance();
context.execute("PF('wiz').next()");

使用 p:commandButton 属性:

oncomplete="PF('wiz').loadStep('tab3',true) 

有人能解释一下我的属性中的 true 是什么意思吗?以及关于我做错了什么的任何建议?

【问题讨论】:

  • 在向数据表中添加新记录时是否需要移动到下一个选项卡??
  • @billyHope 是的,并保持为下一个选项卡选择添加的记录
  • 你可以使用BINDING,来操作你的dataTable和tabView

标签: jsf primefaces wizard


【解决方案1】:

您必须触发移动到下一个选项卡,当成功完成向数据表添加新记录时,正如您在问题的第二个解决方案中提到的,您应该将其添加到添加按钮:

public void addRecord() {

    RequestContext context = RequestContext.getCurrentInstance();
    context.execute("PF('wiz').next()");

}

知道“wiz”是向导的 widgetVar,这个解决方案应该可以工作,否则问题出在添加按钮上,请确保您正在更新选项卡。

【讨论】:

    猜你喜欢
    • 2013-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多